Java实现的JSONUtil工具类与用法示例
本文实例讲述了Java实现的JSONUtil工具类与用法。分享给大家供大家参考,具体如下:
importjava.util.HashMap; importjava.util.Map; importcom.alibaba.druid.util.StringUtils; importcom.alibaba.fastjson.JSON; importcom.alibaba.fastjson.JSONObject; publicclassJSONUtils{ /** *Bean对象转JSON * *@paramobject *@paramdataFormatString *@return */ publicstaticStringbeanToJson(Objectobject,StringdataFormatString){ if(object!=null){ if(StringUtils.isEmpty(dataFormatString)){ returnJSONObject.toJSONString(object); } returnJSON.toJSONStringWithDateFormat(object,dataFormatString); }else{ returnnull; } } /** *Bean对象转JSON * *@paramobject *@return */ publicstaticStringbeanToJson(Objectobject){ if(object!=null){ returnJSON.toJSONString(object); }else{ returnnull; } } /** *String转JSON字符串 * *@paramkey *@paramvalue *@return */ publicstaticStringstringToJsonByFastjson(Stringkey,Stringvalue){ if(StringUtils.isEmpty(key)||StringUtils.isEmpty(value)){ returnnull; } Mapmap=newHashMap (); map.put(key,value); returnbeanToJson(map,null); } /** *将json字符串转换成对象 * *@paramjson *@paramclazz *@return */ publicstaticObjectjsonToBean(Stringjson,Objectclazz){ if(StringUtils.isEmpty(json)||clazz==null){ returnnull; } returnJSON.parseObject(json,clazz.getClass()); } /** *json字符串转map * *@paramjson *@return */ @SuppressWarnings("unchecked") publicstaticMap jsonToMap(Stringjson){ if(StringUtils.isEmpty(json)){ returnnull; } returnJSON.parseObject(json,Map.class); } }
测试:
JSON字符串转map
publicstaticvoidmain(String[]args){ StringjsonStr="{'userName':'huangbaokang','password':'123456'}"; Mapmap=JSONUtils.jsonToMap(jsonStr); System.out.println(map.get("userName")); }
输出:
huangbaokang
JSON字符串转对象:
新建User类
publicclassUser{ privateStringuserName; privateStringpassword; publicStringgetUserName(){ returnuserName; } publicvoidsetUserName(StringuserName){ this.userName=userName; } publicStringgetPassword(){ returnpassword; } publicvoidsetPassword(Stringpassword){ this.password=password; } } publicstaticvoidmain(String[]args){ StringjsonStr="{'userName':'huangbaokang','password':'123456'}"; Useruser=(User)JSONUtils.jsonToBean(jsonStr,newUser()); System.out.println("用户名="+user.getUserName()+"密码="+user.getPassword()); }
测试输出:
输出用户名=huangbaokang密码=123456
对象转JSON
publicstaticvoidmain(String[]args){ Useruser=newUser(); user.setUserName("huangbaokang"); user.setPassword("123456"); Stringresult=JSONUtils.beanToJson(user); System.out.println(result); }
测试输出:
{"password":"123456","userName":"huangbaokang"}
在这里工具类应用的jar为阿里巴巴的fastjson,在lib中加入相关jar。
PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/