java中处理json各种各样的转换方法(推荐)
JSON即JavaScriptObjectNatation,它是一种轻量级的数据交换格式,非常适合于服务器与JavaScript的交互。本文将快速讲解JSON格式,并通过代码示例演示如何分别在客户端和服务器端进行JSON格式数据的处理。
Json必需的包:
commons-httpclient-3.1.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
json-lib-2.2.3-jdk13.jar
ezmorph-1.0.6.jar
commons-collections-3.2.1.jar
出现java.lang.NoClassDefFoundError:net/sf/ezmorph/Morpher错误是因为没有导入ezmorph.jar文件或版本不对。
出现java.lang.NoClassDefFoundError:org/apache/commons/collections/map/ListOrderedMap错误是因为没有导入commons-collections.jar文件或版本不对。
1.java集合json集合之间的转换
1.Java集合转换成Json集合
关键类:JSONArrayjsonArray=JSONArray.fromObject(Objectobj);
使用说明:将Java集合对象直接传进JSONArray.fromObject()中,得到一个JSONArray集合,再直接使用JSONArray的toString()方法,便可得到json集合
示例代码:
@Test
publicvoidtestCreateJsonArray(){
//Java集合
Listlist=newArrayList();
list.add(newEmployee("zhangSan","13"));
list.add(newEmployee("liSi","14"));
//创建json集合
JSONArrayjsonArray=JSONArray.fromObject(list);
System.out.println(jsonArray.toString());
}
输出结果:
[{"age":"13","name":"zhangSan"},{"age":"14","name":"liSi"}]
2.Json集合转换成Java集合
关键类:JSONArrayjsonArray=JSONArray.fromObject(Objectobj);
使用说明:将json字符串对象传入,便可得到一个JSONArray对象,再调用JSONArray对象的toCollection(JSONArrayjsonArray,Classclss)方法,便可得到一个Java对象的集合。
示例代码:
@Test
publicvoidtestParseJsonArray(){
//json集合
StringjsonString="[{\"age\":\"13\",\"name\":\"zhangSan\"},{\"age\":\"14\",\"name\":\"liSi\"}]";
JSONArrayjsonArray=JSONArray.fromObject(jsonString);
//Java集合
Listlist=(List)jsonArray.toCollection(jsonArray,Employee.class);
for(Employeeemployee:list){
System.out.println(employee);
}
}
输出结果:
[name=zhangSan,age=13] [name=liSi,age=14]
2.JAVA实现XML与JSON互相转换方法
1.XML转换为Json
publicstaticStringxmlToJson(Stringxml){
XMLSerializerserializer=newXMLSerializer();
returnserializer.read(xml).toString();
}
2.JSON转换为XML
publicstaticStringjsonToXML(Stringjson){
XMLSerializerxmlSerializer=newXMLSerializer();
//根节点名称
xmlSerializer.setRootName("xml");
//不对类型进行设置
xmlSerializer.setTypeHintsEnabled(false);
StringxmlStr="";
if(json.contains("[")&&json.contains("]")){
//jsonArray
JSONArrayjobj=JSONArray.fromObject(json);
xmlStr=xmlSerializer.write(jobj);
}else{
//jsonObject
JSONObjectjobj=JSONObject.fromObject(json);
xmlStr=xmlSerializer.write(jobj);
}
System.out.println("转换后的参数:"+xmlStr);
returnxmlStr;
}
以上这篇java中处理json各种各样的转换方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。