首页 > 代码库 > JSON的使用

JSON的使用

最近在项目中大量的使用了JSON, 发现JSON和XML的功能相近,都是一种数据传输格式。只是与XML相比JSON显得更加轻量级,使用也更加容易。

JSON依赖的第三方jar包:  

  commons-beanutils.jar
  commons-collection.jar
  commons-lang.jar
  commons-logging.jar
  ezmorph-1.0.6.jar
  json-lib-2.4-jdk15.jar

总结发现JSON字符串与Java对象的相互转换有以下三种情况:

  (1)Java Bean对象与JSON字符串的相互转换

  (2)Java 数组与JSON字符串的相互转换

  (3)Java List与JSON字符串的相互转换

下面是我写的一个JSON工具类:

 1 package nuc.wss.util; 2  3 import java.util.List; 4  5 import net.sf.json.JSONArray; 6 import net.sf.json.JSONObject; 7  8 /** 9  * 10  * JsonUtil类的静态方法封装了Java对象与JSON字符串相互转换的操作11  */12 public class JsonUtil {13     /**14      * 将JSON字符串转化为Java对象15      * 16      * @param jsonString      JSON字符串17      * @param clazz           Java对象对应的class18      * @return                 返回Java对象19      */20     @SuppressWarnings("rawtypes")21     public static Object jsonStringToBean(String jsonString, Class clazz) {22         JSONObject jsonObject = JSONObject.fromObject(jsonString);23         return JSONObject.toBean(jsonObject, clazz);        24     }25     26     /**27      * 将Bean对象转化为JSON字符串28      * 29      * @param object      将被转化的对象30      * @return             返回转化后的JSON字符串31      */32     public static String beanToJsonString(Object object) {33         return JSONObject.fromObject(object).toString();34     }35     36     /**37      * 将JSON字符串转化List38      * 39      * @param jsonArrayString  被转化的JSON字符串40      * @param clazz            List的类型参数所对应的类41      * @return                 返回List对象42      */43     @SuppressWarnings("rawtypes")44     public static List jsonArrayStringToList(String jsonArrayString, Class clazz) {45         JSONArray jsonArray = JSONArray.fromObject(jsonArrayString);46         return (List)JSONArray.toCollection(jsonArray, clazz);47     }48     49     /**50      * 将List对象转化为JSON字符串51      * 52      * @param list    将被转化的List对象53      * @return       返回JSON字符串54      */55     @SuppressWarnings("rawtypes")56     public static String listToJsonArrayString(List list) {57         return JSONArray.fromObject(list).toString();58     }59     60     /**61      * 将JSON字符串转化为Java数组62      * 63      * @param jsonArrayString    被转化的JSON的字符串64      * @param clazz              数组类型对应的类65      * @return                   数组66      */67     @SuppressWarnings("rawtypes")68     public static Object[] jsonArrayStringToArray(String jsonArrayString, Class clazz) {69         JSONArray jsonArray = JSONArray.fromObject(jsonArrayString);70         return (Object[])JSONArray.toArray(jsonArray, clazz);71     }72     73     /**74      * 将Java数组转化为JSON字符串75      * 76      * @param array    被转化的数组77      * @return        JSON字符串78      */79     public static String arrayToJsonArrayString(Object[] array) {80         return JSONArray.fromObject(array).toString();81     }82 }

 

JSON的使用