JSON的使用

王朝学院·作者佚名  2016-05-29
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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

JSON依赖的第三方jar包:

commons-beanutils.jar commons-collection.jar commons-lang.jarcommons-logging.jarezmorph-1.0.6.jarjson-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 }

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航