Java操作json的通用类

提供一个Java中操作JSON格式的公共类:

 

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 它易于人阅读和编写,同时也易于程序解析和生成,相比XML它的体积更小。首先需要自己下载并引入JSON-lib包,JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包。

Java代码   收藏代码
  1. import java.util.HashMap;   
  2. import java.util.Map;   
  3. import net.sf.json.JSONArray;   
  4. import net.sf.json.JSONObject;  
  5. public final class JSONUtil {  
  6.    
  7.     // 将String转换成JSON   
  8.     public static String string2json(String key, String value) {   
  9.         JSONObject object = new JSONObject();   
  10.         object.put(key, value);   
  11.         return object.toString();   
  12.     }  
  13.    
  14.     // 将数组转换成JSON   
  15.     public static String array2json(Object object) {   
  16.         JSONArray jsonArray = JSONArray.fromObject(object);   
  17.         return jsonArray.toString();   
  18.     }  
  19.    
  20.     // 将Map转换成JSON   
  21.     public static String map2json(Object object) {   
  22.         JSONObject jsonObject = JSONObject.fromObject(object);   
  23.         return jsonObject.toString();   
  24.     }  
  25.    
  26.     // 将domain对象转换成JSON   
  27.     public static String bean2json(Object object) {   
  28.         JSONObject jsonObject = JSONObject.fromObject(object);   
  29.         return jsonObject.toString();   
  30.     }  
  31.    
  32.     // 将JSON转换成domain对象,其中beanClass为domain对象的Class   
  33.     public static Object json2Object(String json, Class beanClass) {   
  34.         return JSONObject.toBean(JSONObject.fromObject(json), beanClass);   
  35.     }  
  36.    
  37.     // 将JSON转换成String   
  38.     public static String json2String(String json, String key) {   
  39.         JSONObject jsonObject = JSONObject.fromObject(json);   
  40.         return jsonObject.get(key).toString();   
  41.     }   
  42.   
  43.     // 将JSON转换成数组,其中valueClass为数组中存放对象的Class   
  44.     public static Object json2Array(String json, Class valueClass) {   
  45.         JSONArray jsonArray = JSONArray.fromObject(json);   
  46.         return JSONArray.toArray(jsonArray, valueClass);   
  47.     }  
  48.   
  49.     // 将JSON转换成Map,其中valueClass为Map中value的Class,keyArray为Map的key   
  50.     public static Map json2Map(Object[] keyArray, String json, Class valueClass) {   
  51.         JSONObject jsonObject = JSONObject.fromObject(json);   
  52.         Map classMap = new HashMap();  
  53.    
  54.         for (int i = 0; i < keyArray.length; i++) {   
  55.             classMap.put(keyArray[i], valueClass);   
  56.         }   
  57.         return (Map) JSONObject.toBean(jsonObject, Map.class, classMap);   
  58.     }  
  59. }  

 

分享到:

你可能感兴趣的:(Java操作json的通用类)