json工具包

6 篇文章 0 订阅
  1. import java.util.Collection;   
  2. import java.util.HashMap;   
  3. import java.util.Map;   
  4. import org.json.*;   
  5.   
  6. /**  
  7.  * JSON和JAVA的POJO的相互转换  
  8.  *  
  9.  * @author ptah 2009-10-16 JSONUtil.java  
  10.  */   
  11. public final class JSONUTIL{  
  12.       
  13.     // 将String转换成JSON   
  14.     public static String string2json(String key, String value) {   
  15.         JSONObject object = new JSONObject();   
  16.         object.put(key, value);   
  17.         return object.toString();   
  18.     }   
  19.     // 将JSON转换成数组,其中valueClz为数组中存放的对象的Class   
  20.     public static Object json2Array(String json, Class valueClz) {   
  21.         JSONArray jsonArray = JSONArray.fromObject(json);   
  22.         return JSONArray.toArray(jsonArray, valueClz);   
  23.     }   
  24.   
  25.     // 将Collection转换成JSON   
  26.     public static String collection2json(Object object) {   
  27.         JSONArray jsonArray = JSONArray.fromObject(object);   
  28.         return jsonArray.toString();   
  29.     }   
  30.   
  31.     // 将JSON转换成Collection,其中collectionClz为Collection具体子类的Class,   
  32.     // valueClz为Collection中存放的对象的Class   
  33.     public static Collection json2Collection(String json, Class collectionClz,   
  34.             Class valueClz) {   
  35.         JSONArray jsonArray = JSONArray.fromObject(json);   
  36.         return JSONArray.toCollection(jsonArray, valueClz);   
  37.     }   
  38.   
  39.     // 将数组转换成JSON   
  40.     public static String array2json(Object object) {   
  41.         JSONArray jsonArray = JSONArray.fromObject(object);   
  42.         return jsonArray.toString();   
  43.     }   
  44.     // 将Map转换成JSON   
  45.     public static String map2json(Object object) {   
  46.         JSONObject jsonObject = JSONObject.fromObject(object);   
  47.         return jsonObject.toString();   
  48.     }   
  49.   
  50.     // 将JSON转换成Map,其中valueClz为Map中value的Class,keyArray为Map的key   
  51.     public static Map json2Map(Object[] keyArray, String json, Class valueClz) {   
  52.         JSONObject jsonObject = JSONObject.fromObject(json);   
  53.         Map classMap = new HashMap();   
  54.   
  55.         for (int i = 0; i < keyArray.length; i++) {   
  56.             classMap.put(keyArray[i], valueClz);   
  57.         }   
  58.   
  59.         return (Map) JSONObject.toBean(jsonObject, Map.class, classMap);   
  60.     }   
  61.   
  62.     // 将POJO转换成JSON   
  63.     public static String bean2json(Object object) {   
  64.         JSONObject jsonObject = JSONObject.fromObject(object);   
  65.         return jsonObject.toString();   
  66.     }   
  67.   
  68.     // 将JSON转换成POJO,其中beanClz为POJO的Class   
  69.     public static Object json2Object(String json, Class beanClz) {   
  70.         return JSONObject.toBean(JSONObject.fromObject(json), beanClz);   
  71.     }   
  72.   
  73.     // 将JSON转换成String   
  74.     public static String json2String(String json, String key) {   
  75.         JSONObject jsonObject = JSONObject.fromObject(json);   
  76.         return jsonObject.get(key).toString();   
  77.     }   
  78.   
  79. }   
  80.   
  81. final class JSONUTIL2 {   
  82.   
  83.     // 将String转换成JSON   
  84.     public static String string2json(String key, String value) {   
  85.         JSONObject object = new JSONObject();   
  86.         object.put(key, value);   
  87.         return object.toString();   
  88.     }   
  89.     // 将JSON转换成数组,其中valueClz为数组中存放的对象的Class   
  90.     public static Object json2Array(String json, Class valueClz) {   
  91.         JSONArray jsonArray = JSONArray.fromObject(json);   
  92.         return JSONArray.toArray(jsonArray, valueClz);   
  93.     }   
  94.   
  95.     // 将Collection转换成JSON   
  96.     public static String collection2json(Object object) {   
  97.         JSONArray jsonArray = JSONArray.fromObject(object);   
  98.         return jsonArray.toString();   
  99.     }   
  100.   
  101.     // 将JSON转换成Collection,其中collectionClz为Collection具体子类的Class,   
  102.     // valueClz为Collection中存放的对象的Class   
  103.     public static Collection json2Collection(String json, Class collectionClz,   
  104.             Class valueClz) {   
  105.         JSONArray jsonArray = JSONArray.fromObject(json);   
  106.         return JSONArray.toCollection(jsonArray, valueClz);   
  107.     }   
  108.   
  109.     // 将数组转换成JSON   
  110.     public static String array2json(Object object) {   
  111.         JSONArray jsonArray = JSONArray.fromObject(object);   
  112.         return jsonArray.toString();   
  113.     }   
  114.     // 将Map转换成JSON   
  115.     public static String map2json(Object object) {   
  116.         JSONObject jsonObject = JSONObject.fromObject(object);   
  117.         return jsonObject.toString();   
  118.     }   
  119.   
  120.     // 将JSON转换成Map,其中valueClz为Map中value的Class,keyArray为Map的key   
  121.     public static Map json2Map(Object[] keyArray, String json, Class valueClz) {   
  122.         JSONObject jsonObject = JSONObject.fromObject(json);   
  123.         Map classMap = new HashMap();   
  124.   
  125.         for (int i = 0; i < keyArray.length; i++) {   
  126.             classMap.put(keyArray[i], valueClz);   
  127.         }   
  128.   
  129.         return (Map) JSONObject.toBean(jsonObject, Map.class, classMap);   
  130.     }   
  131.   
  132.     // 将POJO转换成JSON   
  133.     public static String bean2json(Object object) {   
  134.         JSONObject jsonObject = JSONObject.fromObject(object);   
  135.         return jsonObject.toString();   
  136.     }   
  137.   
  138.     // 将JSON转换成POJO,其中beanClz为POJO的Class   
  139.     public static Object json2Object(String json, Class beanClz) {   
  140.         return JSONObject.toBean(JSONObject.fromObject(json), beanClz);   
  141.     }   
  142.   
  143.     // 将JSON转换成String   
  144.     public static String json2String(String json, String key) {   
  145.         JSONObject jsonObject = JSONObject.fromObject(json);   
  146.         return jsonObject.get(key).toString();   
  147.     }   
  148.   
  149. }   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值