欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中處理json各種各樣的轉(zhuǎn)換方法(推薦)

 更新時(shí)間:2017年11月30日 09:25:30   投稿:jingxian  
下面小編就為大家分享一篇java中處理json各種各樣的轉(zhuǎn)換方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

JSON 即 JavaScript Object Natation,它是一種輕量級(jí)的數(shù)據(jù)交換格式,非常適合于服務(wù)器與 JavaScript 的交互。本文將快速講解 JSON 格式,并通過(guò)代碼示例演示如何分別在客戶端和服務(wù)器端進(jìn)行 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錯(cuò)誤是因?yàn)闆]有導(dǎo)入ezmorph.jar文件或版本不對(duì)。

出現(xiàn)java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap錯(cuò)誤是因?yàn)闆]有導(dǎo)入commons-collections.jar文件或版本不對(duì)。

1.java集合 json集合之間的轉(zhuǎn)換

1. Java集合轉(zhuǎn)換成Json集合

關(guān)鍵類:JSONArray jsonArray = JSONArray.fromObject(Object obj);

使用說(shuō)明:將Java集合對(duì)象直接傳進(jìn)JSONArray.fromObject()中,得到一個(gè)JSONArray集合,再直接使用JSONArray的toString()方法,便可得到j(luò)son集合

示例代碼:

@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集合

關(guān)鍵類: JSONArray jsonArray = JSONArray.fromObject(Object obj);

使用說(shuō)明:將json字符串對(duì)象傳入,便可得到一個(gè)JSONArray對(duì)象,再調(diào)用JSONArray對(duì)象的toCollection(JSONArray jsonArray, Class clss)方法,便可得到一個(gè)Java對(duì)象的集合。

示例代碼:

@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實(shí)現(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é)點(diǎn)名稱
  xmlSerializer.setRootName("xml");
  // 不對(duì)類型進(jìn)行設(shè)置
  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)換方法(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論