关键词:
1 package com.chauvet.utils.json; 2 3 import java.io.BufferedReader; 4 import java.io.File; 5 import java.io.FileInputStream; 6 import java.io.FileWriter; 7 import java.io.InputStreamReader; 8 import java.util.List; 9 10 import net.sf.json.JSONArray; 11 import net.sf.json.JSONObject; 12 import net.sf.json.xml.XMLSerializer; 13 14 import org.apache.commons.lang.StringUtils; 15 16 import com.google.gson.Gson; 17 import com.google.gson.GsonBuilder; 18 19 20 public class JsonUtils { 21 private final static Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create(); 22 private static XMLSerializer xmlserializer = new XMLSerializer(); 23 24 public static Gson getInstance(){ 25 return gson; 26 } 27 28 /*** 29 * List 转为 JSON 30 * @param list 31 * @return 32 */ 33 public static <T> String list2Json(List<T> list) { 34 if(null != list && list.size() > 0){ 35 JSONArray jsonArray = JSONArray.fromObject(list); 36 return jsonArray.toString(); 37 } 38 return ""; 39 } 40 41 42 /*** 43 * JSON 转换为 List 44 * @param jsonStr 45 * [{"age":12,"createTime":null,"id":"","name":"wxw","registerTime":null,"sex":1},{...}] 46 * @param objectClass 47 * @return 48 */ 49 @SuppressWarnings("unchecked") 50 public static <T> List<T> json2List(String jsonStr, Class<T> objectClass){ 51 if (StringUtils.isNotBlank(jsonStr)) { 52 JSONArray jsonArray = JSONArray.fromObject(jsonStr); 53 List<T> list = (List<T>) JSONArray.toCollection(jsonArray, objectClass); 54 return list; 55 } 56 return null; 57 } 58 59 60 /*** 61 * Object 转为 JSON 62 * @param object 63 * @return 64 */ 65 public static String object2Json(Object object) { 66 if(null != object){ 67 JSONArray jsonArray = JSONArray.fromObject(object); 68 return jsonArray.toString(); 69 } 70 return ""; 71 } 72 73 /*** 74 * 75 * JSON 转 Object 76 * 77 * @param jsonStr 78 * [{"age":12,"createTime":null,"id":"","name":"wxw","registerTime":null,"sex":1}] 79 * @param objectClass 80 * @return 81 */ 82 @SuppressWarnings("unchecked") 83 public static <T> T json2Ojbect(String jsonStr, Class<T> objectClass){ 84 if(null != jsonStr){ 85 String leftStr = jsonStr.substring(0,2); 86 String rightStr = jsonStr.substring(jsonStr.length()-2,jsonStr.length()); 87 if(leftStr.equals("[{")){ 88 jsonStr = jsonStr.substring(1,jsonStr.length()); 89 } 90 if(rightStr.equals("}]")){ 91 jsonStr = jsonStr.substring(0,jsonStr.length()-1); 92 } 93 JSONObject jsonStu = JSONObject.fromObject(jsonStr); 94 return (T) JSONObject.toBean(jsonStu,objectClass); 95 } 96 return null; 97 } 98 99 /*** 100 * JsonArray 转为 JSON 101 * @param jsonArray 102 * @return 103 */ 104 public static String jsonArrayToJSONString(JSONArray jsonArray) { 105 if(null != jsonArray){ 106 return jsonArray.toString(); 107 } 108 return ""; 109 } 110 111 /*** 112 * JsonObject 转为 JSON 113 * @param jsonObject 114 * @return 115 */ 116 public static String jsonObjectToJSONString(JSONObject jsonObject) { 117 if(null != jsonObject){ 118 return jsonObject.toString(); 119 } 120 return ""; 121 } 122 123 /*** 124 * 将Object转换为JsonObject 125 * @param object 126 * @return 127 */ 128 public static JSONObject object2JsonObject(Object object) { 129 if(null != object){ 130 return JSONObject.fromObject(object); 131 } 132 return null; 133 } 134 135 136 /*** 137 * XML 转为 JSON 138 * @param xmlString 139 * XML字符串 例如: 140 * <?xml version=‘1.0‘ encoding=‘utf-8‘?><cities><province name=‘北京‘><item>东城区</item><item>西城区</item><item>崇文区</item><item>宣武区</item><item>朝阳区</item><item>丰台区</item><item>石景山区</item><item>海淀区</item><item>门头沟区</item><item>房山区</item><item>通州区</item><item>顺义区</item><item>昌平区</item><item>大兴区</item><item>怀柔区</item><item>平谷区</item><item>密云县</item><item>延庆县</item></province></cities> 141 * @return 142 * 143 */ 144 public static String xml2json(String xmlString){ 145 if(StringUtils.isNotBlank(xmlString)){ 146 try { 147 return xmlserializer.read(xmlString).toString(); 148 } catch (Exception e) { 149 e.printStackTrace(); 150 return null; 151 } 152 } 153 return null; 154 } 155 156 /*** 157 * JSON 转为 XML 158 * @param xmlString 159 * XML字符串 例如: 160 * [{‘province‘:{‘@name‘:‘北京‘,‘item‘:[‘东城区‘,‘西城区‘,‘崇文区‘,‘宣武区‘,‘朝阳区‘,‘丰台区‘,‘石景山区‘,‘海淀区‘,‘门头沟区‘,‘房山区‘,‘通州区‘,‘顺义区‘,‘昌平区‘,‘大兴区‘,‘怀柔区‘,‘平谷区‘,‘密云县‘,‘延庆县‘]}}] 161 * 或者: 162 * {‘province‘:{‘@name‘:‘北京‘,‘item‘:[‘东城区‘,‘西城区‘,‘崇文区‘,‘宣武区‘,‘朝阳区‘,‘丰台区‘,‘石景山区‘,‘海淀区‘,‘门头沟区‘,‘房山区‘,‘通州区‘,‘顺义区‘,‘昌平区‘,‘大兴区‘,‘怀柔区‘,‘平谷区‘,‘密云县‘,‘延庆县‘]}} 163 * @return 164 * 165 */ 166 public static String json2xml(String jsonStr){ 167 if(StringUtils.isNotBlank(jsonStr)){ 168 try { 169 if(jsonStr.contains("[{") && jsonStr.contains("}]")){ 170 JSONArray jobj = JSONArray.fromObject(jsonStr); 171 return xmlserializer.write(jobj); 172 } 173 JSONObject jobj = JSONObject.fromObject(jsonStr); 174 return xmlserializer.write(jobj); 175 } catch (Exception e) { 176 e.printStackTrace(); 177 return null; 178 } 179 } 180 return null; 181 } 182 183 184 /*** 185 * XML/JSON 互转 186 * 187 * @param sourceFilePath 188 * 要解析的文件路径 189 * @param directFilePath 190 * 生成文件存放的路径 191 * @param flag 192 * true:JSON 转为 XML 193 * false:XML转为 JSON 194 * @return 195 */ 196 public static String xml2JsonOrjson2Xml(String sourceFilePath,String directFilePath,boolean flag){ 197 if(StringUtils.isBlank(sourceFilePath) || StringUtils.isBlank(directFilePath)){ 198 return null; 199 } 200 FileInputStream in =null; 201 BufferedReader br = null; 202 FileWriter fw = null; 203 String rs = null; 204 try{ 205 File jsonFile = new File(sourceFilePath); 206 in = new FileInputStream(jsonFile); 207 StringBuffer sbuf = new StringBuffer(); 208 br = new BufferedReader(new InputStreamReader(in)); 209 String temp =null; 210 211 while((temp=br.readLine())!=null){ 212 sbuf.append(temp); 213 } 214 if(flag){ 215 rs = json2xml(sbuf.toString()); 216 }else{ 217 rs = xml2json(sbuf.toString()); 218 } 219 File test = new File(directFilePath); 220 if(!test.exists()){ 221 test.createNewFile(); 222 } 223 fw = new FileWriter(test); 224 fw.write(rs); 225 }catch (Exception e) { 226 e.printStackTrace(); 227 }finally{ 228 try { 229 fw.close(); 230 br.close(); 231 in.close(); 232 } catch (Exception e) { 233 e.printStackTrace(); 234 } 235 } 236 return rs; 237 } 238 239 240 public static void main(String[] args) { 241 242 // System.out.println(jfxfTranspose("E:/qwe.json", "E:/qwe.xml", 1)); 243 244 // System.out.println(json2xml("[{‘province‘:{‘@name‘:‘北京‘,‘item‘:[‘东城区‘,‘西城区‘,‘崇文区‘,‘宣武区‘,‘朝阳区‘,‘丰台区‘,‘石景山区‘,‘海淀区‘,‘门头沟区‘,‘房山区‘,‘通州区‘,‘顺义区‘,‘昌平区‘,‘大兴区‘,‘怀柔区‘,‘平谷区‘,‘密云县‘,‘延庆县‘]}}]")); 245 // System.out.println(xml2json("<?xml version=‘1.0‘ encoding=‘utf-8‘?><cities><province name=‘北京‘><item>东城区</item><item>西城区</item><item>崇文区</item><item>宣武区</item><item>朝阳区</item><item>丰台区</item><item>石景山区</item><item>海淀区</item><item>门头沟区</item><item>房山区</item><item>通州区</item><item>顺义区</item><item>昌平区</item><item>大兴区</item><item>怀柔区</item><item>平谷区</item><item>密云县</item><item>延庆县</item></province></cities>")); 246 247 /*User u = new User(); 248 u.setName("wxw"); 249 u.setAge(12); 250 u.setSex(1); 251 System.out.println(object2JsonObject(u));*/ 252 253 /*User u = new User(); 254 u.setName("wxw"); 255 u.setAge(12); 256 u.setSex(1); 257 System.out.println(object2Json(u));*/ 258 259 /*User us = json2Ojbect(object2Json(u), User.class); 260 System.out.println(us); 261 */ 262 263 /*List<User> list = new ArrayList<User>(); 264 User u = new User(); 265 u.setName("wxw"); 266 u.setAge(12); 267 u.setSex(1); 268 list.add(u); 269 u = new User(); 270 u.setName("zmx"); 271 u.setAge(12); 272 u.setSex(0); 273 list.add(u); 274 u = new User(); 275 u.setName("arnold"); 276 u.setAge(12); 277 u.setSex(1); 278 list.add(u); 279 String str = list2Json(list); 280 System.out.println(str);*/ 281 282 /*List<User> userList = converAnswerFormString(str, User.class); 283 System.out.println(userList); 284 */ 285 286 } 287 }
自己实现java中list对象转换为json对象
1.在你的MyEclipse里新建一个WebProject,就叫Ajax_Json吧。2.新建一个类,名字叫做JsonUtil.java,打包到young.ajax.json,把下面代码复制进去。packageyoung.ajax.json;importjava.beans.IntrospectionException;importjava.beans.Introspector;importjav 查看详情
json的string字符串与java的list列表对象的相互转换
在前端:1.如果json是List对象转换的,可以直接遍历json,读取数据。2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示:varjsonStr=JSON.stringify(list);varparam={};param.jsonStr=jsonStr;在后台:1.把String转... 查看详情
利用jackson封装常用jsonutil工具类(代码片段)
...成适合项目接口规则的工具类。代码如下:@Slf4jpublicclassJsonUtilprivatestaticObjectM 查看详情
java对象与json字符串的互转(代码片段)
JSON字符串转普通对象普通对象转JSON字符串JSON字符串数组转List集合对象List集合对象转JSON字符串数组JSON字符串转装有对象的Map装有对象的Map转JSON字符串最近,工作中会涉及到Java对象与JSON字符串相互转换,虽然说并不难&... 查看详情
jackson进行json与java对象转换之四
jackson简单使用,对象转json,json转对象,json转list POJO序列化为json字符串:准备一个POJO:@JsonIgnoreProperties(ignoreUnknown=true)classUserimplementsSerializable{privatestaticfinallongserialVersionUID=-5952920972581467417 查看详情
java怎么读取json格式的数据
参考技术Ajava可以使用JSONObject和JSONArray来操作json对象和json数组,具体用法如下1:java对象与json串转换:java对象—json串:JSONObjectJSONStr=JSONObject.fromObject(object);Stringstr=JSONStr.toString();json串—java对象:JSONObjectjsonObject=JSONObject.fromObject... 查看详情
java怎么读取json格式的数据
java可以使用JSONObject和JSONArray来操作json对象和json数组,具体用法如下1:java对象与json串转换:java对象—json串:JSONObjectJSONStr=JSONObject.fromObject(object);Stringstr=JSONStr.toString();json串—java对象:JSONObjectjsonObject=JSONObject.fromObject(jsonString);... 查看详情
c#里jsonutil.tojson是啥意思
JsonUtil这个应该是封装的公共类;toJson是转换成JSON的一个方法参考技术A把指定对象序列化成Json 查看详情
elasticsearchjavaapi-检索索引库
...写入索引,这次记录下如何搜索。一、准备数据Stringdata1=JsonUtil.model2Json(newBlog(1,"git简介","2016-06-19","SVN与Git最主要的区别..."));Stringdata2=JsonUtil.model2Json(newBlog(2,"Java中泛型的介绍与简单使用","2016-06-19", 查看详情
jsonutil.bean2json()报property'key'ofclasshasnoreadmethod.skipped的问题处理
错误警告信息描述:net.sf.json.JSONObject.defaultBeanProcessing(JSONObject.java:769)Property‘handler‘ofclasscom.vrv.cems.mgr.domain.Manager_$$_javassist_182hasnoreadmethod.SKIPPED问题分析:JsonUtil.bean2Json(queryHi 查看详情
json转java对象和list集合
publicstaticvoidmain(String[]args){//转换对象StringstrJson="{"basemenu_id":"1","basemenu_name":"aaaaaa","basemenu_order":"2"}";aaaajb=(aaaa)json2Object(strJson,aaaa.class);//javabean要加".class" 查看详情
java怎么将json文件读取进来并转成map
java中解析json文件,需要下载json解析包,用JSONUtil.deserialize()就可以了,范例: import org.apache.struts2.json.JSONUtil; public class JsonToJava public static void main(String[] args) try String s = JSONObject.toString(... 查看详情
json
关于json插件使用:在java中,可以通过jsonlib插件,在java对象与json之间做转换。关于jsonlib插件使用:1.导包(6个包)2.将java对象转换成json1.对于数组,List集合,要想转换成json JSONArray.fromObject(java对象);["value1","valu... 查看详情
java中的json解析
...ib-2.2.2-jdk13.jar(2.1在日期数组json->java有问题)工具类JsonUtil代码如下:Java代码publicclassJsonUtil{/**页面传至后台时,json数据在request的参数名称*/publicfinalstaticStringJSO 查看详情
json-json字符串转换成json对象json对象数组java实体类以及保存到list列表中
...没有弄清楚数据的格式问题。实现的是JSONString转换成java对象或是list列表实例类Newspackagelyx.entity;/***@authorlyx* *2015-8-10上午10:14:38***新闻类*/publicclassNews{ /** *日期 */ privateStringdate; /** *链接 */ pr 查看详情
基于jackson的json与对象的互相转换
...JsonMapper类备注的待测试实体类User.javaStudent.java测试代码对象转换成JsonJson转换成对象Json与List对象互转Json与Map对象互转Json与对象在转换中遇到空属性 在JavaWeb开发中,经常会涉及到相关的json与对象的互相转化问题,... 查看详情
java对象数据与json对象数据之间的相互转换(fastjson)(代码片段)
Java对象或集合数据与JSON格式数据之间的转换1、JSON是什么2、JSON数据格式对照3、主流JSON库对比3.1、json-lib【不推荐使用】3.2、Jackson【根据场景使用】3.3、Gson【根据场景使用】3.4、FastJson【根据场景使用】4、FastJson常用的JSON格式... 查看详情
json对象与json字符串的转化json字符串与java对象的转换
Json对象与Json字符串的转化、JSON字符串与Java对象的转换一.Json对象与Json字符串的转化1.jQuery插件支持的转换方式: $.parseJSON(jsonstr);//jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2.浏览器支持的转换方式(Firefox,chrom... 查看详情