java中處理json各種各樣的轉換方法(推薦),javajson

來源:互聯網
上載者:User

java中處理json各種各樣的轉換方法(推薦),javajson

JSON 即 JavaScript Object Natation,它是一種輕量級的資料交換格式,非常適合於伺服器與 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集合

關鍵類: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"));    //建立json集合    JSONArray jsonArray = JSONArray.fromObject(list);    System.out.println(jsonArray.toString());  }

輸出結果:

[{"age":"13","name":"zhangSan"},{"age":"14","name":"liSi"}]

2. Json集合轉換成Java集合

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

使用說明:將json字串對象傳入,便可得到一個JSONArray對象,再調用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);    }  }

輸出結果:

[name=zhangSan,age=13][name=liSi,age=14]

2.JAVA實現XML與JSON互相轉換方法

1.XML轉換為Json

public static String xmlToJson(String xml) {XMLSerializer serializer = new XMLSerializer();return serializer.read(xml).toString();}

2.JSON轉換為XML

public static String jsonToXML(String json) {  XMLSerializer xmlSerializer = new XMLSerializer();  // 根節點名稱  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("轉換後的參數:" + xmlStr);  return xmlStr;}

以上這篇java中處理json各種各樣的轉換方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援幫客之家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.