java中處理json各種各樣的轉(zhuǎn)換方法(推薦)
JSON 即 JavaScript Object Natation,它是一種輕量級的數(shù)據(jù)交換格式,非常適合于服務器與 JavaScript 的交互。本文將快速講解 JSON 格式,并通過代碼示例演示如何分別在客戶端和服務器端進行 JSON 格式數(shù)據(jù)的處理。
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
出現(xiàn)java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher錯誤是因為沒有導入ezmorph.jar文件或版本不對。
出現(xiàn)java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap錯誤是因為沒有導入commons-collections.jar文件或版本不對。
1.java集合 json集合之間的轉(zhuǎn)換
1. Java集合轉(zhuǎn)換成Json集合
關鍵類:JSONArray jsonArray = JSONArray.fromObject(Object obj);
使用說明:將Java集合對象直接傳進JSONArray.fromObject()中,得到一個JSONArray集合,再直接使用JSONArray的toString()方法,便可得到json集合
示例代碼:
@Test
public void testCreateJsonArray() {
//Java集合
List<Employee> list = new ArrayList<Employee>();
list.add(new Employee("zhangSan","13"));
list.add(new Employee("liSi","14"));
//創(chuàng)建json集合
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray.toString());
}
輸出結(jié)果:
[{"age":"13","name":"zhangSan"},{"age":"14","name":"liSi"}]
2. Json集合轉(zhuǎn)換成Java集合
關鍵類: JSONArray jsonArray = JSONArray.fromObject(Object obj);
使用說明:將json字符串對象傳入,便可得到一個JSONArray對象,再調(diào)用JSONArray對象的toCollection(JSONArray jsonArray, Class clss)方法,便可得到一個Java對象的集合。
示例代碼:
@Test
public void testParseJsonArray() {
//json集合
String jsonString = "[{\"age\":\"13\",\"name\":\"zhangSan\"},{\"age\":\"14\",\"name\":\"liSi\"}]";
JSONArray jsonArray = JSONArray.fromObject(jsonString);
//Java集合
List<Employee> list = (List<Employee>) jsonArray.toCollection(jsonArray, Employee.class);
for(Employee employee : list){
System.out.println(employee);
}
}
輸出結(jié)果:
[name=zhangSan,age=13] [name=liSi,age=14]
2.JAVA實現(xiàn)XML與JSON互相轉(zhuǎn)換方法
1.XML轉(zhuǎn)換為Json
public static String xmlToJson(String xml) {
XMLSerializer serializer = new XMLSerializer();
return serializer.read(xml).toString();
}
2.JSON轉(zhuǎn)換為XML
public static String jsonToXML(String json) {
XMLSerializer xmlSerializer = new XMLSerializer();
// 根節(jié)點名稱
xmlSerializer.setRootName("xml");
// 不對類型進行設置
xmlSerializer.setTypeHintsEnabled(false);
String xmlStr = "";
if (json.contains("[") && json.contains("]")) {
// jsonArray
JSONArray jobj = JSONArray.fromObject(json);
xmlStr = xmlSerializer.write(jobj);
} else {
// jsonObject
JSONObject jobj = JSONObject.fromObject(json);
xmlStr = xmlSerializer.write(jobj);
}
System.out.println("轉(zhuǎn)換后的參數(shù):" + xmlStr);
return xmlStr;
}
以上這篇java中處理json各種各樣的轉(zhuǎn)換方法(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
如何解決idea的Module:‘:app‘platform‘a(chǎn)ndroid-32‘not found.問題
這篇文章主要介紹了如何解決idea的Module:‘:app‘platform‘a(chǎn)ndroid-32‘not found.問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
Java配置JDK開發(fā)環(huán)境及環(huán)境變量
這篇文章主要為大家詳細介紹了Java配置JDK開發(fā)環(huán)境及環(huán)境變量,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09

