首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

json-lib 實現 Java 與 JSON 互轉完整指南(含 Maven 依賴與 JUnit 測試案例)

     編輯:Java 相關知識

json-lib 簡介

Java 庫,支援 Bean、Map、Collection、陣列、XML 雙向轉 JSON。官網:json-lib.sourceforge.net

執行環境依賴

  • commons-lang 2.5
  • commons-beanutils 1.8.0
  • commons-collections 3.2.1
  • commons-logging 1.1.1
  • ezmorph 1.0.6

核心轉換規則

  • 陣列、List、Collection → JSONArray
  • Map、自定義 Bean → JSONObject

JUnit 測試案例精選

// 陣列轉 JSON
JSONArray.fromObject(new boolean[]{true,false,true}); // [true,false,true]

// List 轉 JSON
JSONArray.fromObject(Arrays.asList("first","second")); // ["first","second"]

// 字串解析
JSONArray.fromObject("['json','is','easy']"); // ["json","is","easy"]

// Map 轉 JSON
Map map = new HashMap();
map.put("name","json"); map.put("bool",Boolean.TRUE);
JSONObject.fromObject(map); // {"name":"json","bool":true,...}

// Bean 轉 JSON
JSONObject.fromObject(bean);

// 複雜 Bean(含 List、Map)反序列化
Map classMap = new HashMap();
classMap.put("list", Person.class);
classMap.put("map", Map.class);
JSONObject.toBean(jsonObject, MyBean.class, classMap);

關鍵類定義

public class MyBean {
    private String id, name;
    private Date date;
    private List cardNum; // 含 String、Person
    // getter/setter
}
public class Person { private String name; /* getter/setter */ }

依賴下載

所需 jar 包與測試類打包:CSDN 下載鏈接

結語

json-lib 雖非最快,但功能全面、文檔豐富,適合維護舊專案或需 XML 轉 JSON 場景。新專案建議優先 Fastjson/Jackson。

出處:bianceng.cn

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved