关闭

JSON和JAVA的POJO的相互转换

280人阅读 评论(0) 收藏 举报
  import java.util.Collection;  
02 import java.util.HashMap;  
03 import java.util.Map;  
04  
05 import net.sf.json.JSONArray;  
06 import net.sf.json.JSONObject;  
07  
08 /** 
09  * JSON和JAVA的POJO的相互转换 
10  *  
11  * JSONHelper.java 
12  */ 
13 public final class JSONHelper {  
14  
15     // 将数组转换成JSON  
16     public static String array2json(Object object) {  
17         JSONArray jsonArray = JSONArray.fromObject(object);  
18         return jsonArray.toString();  
19     }  
20  
21     // 将JSON转换成数组,其中valueClz为数组中存放的对象的Class  
22     public static Object json2Array(String json, Class valueClz) {  
23         JSONArray jsonArray = JSONArray.fromObject(json);  
24         return JSONArray.toArray(jsonArray, valueClz);  
25     }  
26  
27     // 将Collection转换成JSON  
28     public static String collection2json(Object object) {  
29         JSONArray jsonArray = JSONArray.fromObject(object);  
30         return jsonArray.toString();  
31     }  
32  
33     // 将JSON转换成Collection,其中collectionClz为Collection具体子类的Class,  
34     // valueClz为Collection中存放的对象的Class  
35     public static Collection json2Collection(String json, Class collectionClz,  
36             Class valueClz) {  
37         JSONArray jsonArray = JSONArray.fromObject(json);  
38         return JSONArray.toCollection(jsonArray, valueClz);  
39     }  
40  
41     // 将Map转换成JSON  
42     public static String map2json(Object object) {  
43         JSONObject jsonObject = JSONObject.fromObject(object);  
44         return jsonObject.toString();  
45     }  
46  
47     // 将JSON转换成Map,其中valueClz为Map中value的Class,keyArray为Map的key  
48     public static Map json2Map(Object[] keyArray, String json, Class valueClz) {  
49         JSONObject jsonObject = JSONObject.fromObject(json);  
50         Map classMap = new HashMap();  
51  
52         for (int i = 0; i < keyArray.length; i++) {  
53             classMap.put(keyArray[i], valueClz);  
54         }  
55  
56         return (Map) JSONObject.toBean(jsonObject, Map.class, classMap);  
57     }  
58  
59     // 将POJO转换成JSON  
60     public static String bean2json(Object object) {  
61         JSONObject jsonObject = JSONObject.fromObject(object);  
62         return jsonObject.toString();  
63     }  
64  
65     // 将JSON转换成POJO,其中beanClz为POJO的Class  
66     public static Object json2Object(String json, Class beanClz) {  
67         return JSONObject.toBean(JSONObject.fromObject(json), beanClz);  
68     }  
69  
70     // 将String转换成JSON  
71     public static String string2json(String key, String value) {  
72         JSONObject object = new JSONObject();  
73         object.put(key, value);  
74         return object.toString();  
75     }  
76  
77     // 将JSON转换成String  
78     public static String json2String(String json, String key) {  
79         JSONObject jsonObject = JSONObject.fromObject(json);  
80         return jsonObject.get(key).toString();  
81     }  
82  
83
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:15364次
    • 积分:171
    • 等级:
    • 排名:千里之外
    • 原创:0篇
    • 转载:16篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论