`
Donald_Draper
  • 浏览: 981087 次
社区版块
存档分类
最新评论

JSON工具类

阅读更多
JSON工具类
package com.fh.util;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
 * 
 * @author donald
 *
 */
public class JsonUtil {
	 /** 
     * 对象转换成JSON字符串  obj
     * @param obj 需要转换的对象 
     * @return 对象的string字符 
     */  
    public static String toJson(Object obj) {  
        JSONObject jSONObject = JSONObject.fromObject(obj);  
        return jSONObject.toString();  
    }  
  /**
     * just for String[]
     * @param obj
     * @return
     */
    public static String ArraytoJson(Object obj) {  
    	JSONArray jsonArr = JSONArray.fromObject(obj);  
        return jsonArr.toString();  
    }  
    /** 
     * JSON字符串转换成对象 
     * @param jsonString  需要转换的字符串 
     * @param type 需要转换的对象类型 
     * @return 对象 
     */  
    @SuppressWarnings("unchecked")  
    public static <T> T fromJson(String jsonString, Class<T> type) {  
        JSONObject jsonObject = JSONObject.fromObject(jsonString);  
        return (T) JSONObject.toBean(jsonObject, type);  
    }  
    public static <T> String ListToJson(List<T> lobj){
    	JSONArray jsonArr = JSONArray.fromObject(lobj);
    	return jsonArr.toString();
    }
    /**
     * 根据json String 返回List
     * @param json
     * @return
     */
    public static List<Object> jsonToList(String json){
    	JSONArray jsonArr = JSONArray.fromObject(json);
    	return jsonToList(jsonArr);
    }
    /**
     * 将Json String转化为 bean list
     * @param jsonArray
     * @param clazz
     * @return
     */
    @SuppressWarnings({ "rawtypes" })
	public static List jsonToList(String json,Class clazz){
    	JSONArray jsonArr = JSONArray.fromObject(json);
    	return jsonToList(jsonArr,clazz);
    }
    /**
     * 将JSONArray转化为 bean list
     * @param jsonArray
     * @param clazz
     * @return
     */
    @SuppressWarnings({ "rawtypes", "deprecation" })
	public static List jsonToList( JSONArray jsonArray,Class clazz){
        if(jsonArray!=null){
            try{
                List  list =  JSONArray.toList(jsonArray,clazz);
                return list;
            }catch(Exception e){
                return null;
            }
        }else{
            return null;
        }
    }
    /** 
     * 将JSONArray对象转换成list集合 map 
     * @param jsonArr 
     * @return 
     */  
    public static List<Object> jsonToList(JSONArray jsonArr) {  
        List<Object> list = new ArrayList<Object>();  
        for (Object obj : jsonArr) {  
            if (obj instanceof JSONArray) {  
                list.add(jsonToList((JSONArray) obj));  
            } else if (obj instanceof JSONObject) {  
                list.add(jsonToMap((JSONObject) obj));  
            } else {  
                list.add(obj);  
            }  
        }  
        return list;  
    }  
  
    /** 
     * 将json字符串转换成map对象 
     *  
     * @param json 
     * @return 
     */  
    public static Map<String, Object> jsonToMap(String json) {  
        JSONObject obj = JSONObject.fromObject(json);  
        return jsonToMap(obj);  
    }  
  
    /** 
     * 将JSONObject转换成map对象 
     *  
     * @param json 
     * @return 
     */  
    public static Map<String, Object> jsonToMap(JSONObject obj) {  
        Set<?> set = obj.keySet();  
        Map<String, Object> map = new HashMap<String, Object>(set.size());  
        for (Object key : obj.keySet()) {  
            Object value = obj.get(key);  
            if (value instanceof JSONArray) {  
                map.put(key.toString(), jsonToList((JSONArray) value));  
            } else if (value instanceof JSONObject) {  
                map.put(key.toString(), jsonToMap((JSONObject) value));  
            } else {  
                map.put(key.toString(), obj.get(key));  
            }  
  
        }  
        return map;  
    }  
}

测试类
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import entity.Cat;

import util.JsonUtil;


public class testJson {
	public static void main(String[] args){
		Map<String ,String > bmap = new HashMap<String,String>();
		bmap.put("user", "donald");
		bmap.put("age", "32");
		String bString = JsonUtil.toJson(bmap);
		System.out.println("============map:"+bString);
		Map<String, Object> bmaps = JsonUtil.jsonToMap(bString);
		System.out.println("============user:"+bmaps.get("user"));
		System.out.println("============age:"+bmaps.get("age"));
		Cat cat1 = new Cat(4,"mini");
		String cString = JsonUtil.toJson(cat1);
		System.out.println("============Cat:"+cString);
		Cat cat2 = JsonUtil.fromJson(cString, Cat.class);
		System.out.println("============legs:"+cat2.getLegs());
		System.out.println("============name:"+cat2.getName());
		cat2.setLegs(5);
		cat2.setName("big");
		List<Cat> catList = new ArrayList<Cat>();
		catList.add(cat1);
		catList.add(cat2);
		String clString = JsonUtil.ListToJson(catList);
		System.out.println("============CatList:"+clString);
		List<Cat> catListx= JsonUtil.jsonToList(clString,Cat.class);
		Cat cat3 = catListx.get(0);
		System.out.println("============legs:"+cat3.getLegs());
		System.out.println("============name:"+cat3.getName());
		
	}
}

结果输出:
============map:{"age":"32","user":"donald"}
============user:donald
============age:32
============Cat:{"legs":4,"name":"mini"}
============legs:4
============name:mini
============CatList:[{"legs":4,"name":"mini"},{"legs":5,"name":"big"}]
============legs:4
============name:mini
分享到:
评论

相关推荐

    java服务端json工具类

    java服务器用的json工具类,自己封装的,支持beanToJson ListToJson arrayToJson等

    封装完善的json工具类

    将集合、数组、字符串等形式转换成json格式,封装完善的json工具类

    json工具类

    自己写的一个json工具类。

    java json 工具类java json 工具类

    java json 工具类java json 工具类 java json 工具类java json 工具类 java json 工具类java json 工具类 java json 工具类java json 工具类

    bean,json工具类

    这个"bean,json工具类"就是为了解决这个问题而设计的,它的主要功能可能包括以下几点: 1. **Bean到JSON转换**:工具类提供了将Java Bean对象转换为JSON字符串的方法。这通常通过使用如Jackson、Gson或Fastjson等...

    asp的JSON工具类

    标题中的"asp的JSON工具类"就是为了解决这一问题,使得在ASP中读取、解析和生成JSON数据变得更加便捷。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...

    Java json工具类,jackson工具类,ObjectMapper工具类

    总结来说,`Java json工具类`如`Jackson`和`ObjectMapper`,以及开发者自定义的`JacksonUtils`工具类,是Java开发中处理JSON数据的关键工具。它们能够方便地将Java对象和JSON格式数据互相转换,同时提供了一系列高级...

    json工具类源代码

    在实际开发中,使用JSON工具类时,常见的操作包括: - **序列化**:将Java对象转换为JSON字符串,这在发送HTTP请求或保存数据到文件时非常有用。 - **反序列化**:将JSON字符串解析为Java对象,便于在程序中使用...

    Json工具类

    本篇将详细介绍`Json工具类`及其相关的知识点。 一、Gson库 Gson是Google提供的一个Java库,能够将Java对象转化为JSON字符串,反之亦然。它通过简单的API设计,使得JSON数据的序列化和反序列化变得非常便捷。例如,...

    JsonUtil json工具类

    JsonUtil json工具类 JsonUtil json工具类

    json工具类,java日期转换,字符串转换等各种工具类

    1. **JSON工具类**: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们通常使用`org.json`库或`com.google.gson`库来处理JSON数据。...

    JSON工具类jar包

    Java处理JSON的全套工具类,依赖于以下的JAR包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar 5.ezmorph.jar 6.json-lib-2.2.2-jdk15.jar

    实体类反射非空赋值,AjaxJson工具类

    在“实体类反射非空赋值,AjaxJson工具类”这个主题中,我们将探讨如何使用反射来安全地为实体类的属性赋值,并结合Ajax与JSON进行数据的转换和交互。 首先,让我们深入了解反射的概念。Java反射API提供了Class类,...

    excel 转java 以及JSON工具类

    "Excel转Java以及JSON工具类"提供了一种便捷的方式来管理和转化结构化的数据。这种工具通常用于将Excel表格中的数据转换为Java对象或者JSON格式,方便在编程环境中进行操作和使用。 Excel是一种广泛使用的电子表格...

    XML转JSON工具类

    XML转JSON工具类,支持多层XML嵌套解析转JSON,采用dom4j解析转JSON格式,多次线上环境使用

    JSON工具类包含对象转hashmap

    包含各种对象转换成json对象,还包含把对象中的属性转成hashmap 并且可以过滤为空的或者为null的对象

    JAVA转JSON工具类说明

    java转JSON工具类说明,以后看着函数说明就自己可以随便使用JSON数据了,

Global site tag (gtag.js) - Google Analytics