Json-lib, 實現Java對象與JSON資料格式的互轉

來源:互聯網
上載者:User

Json-lib 是什嗎?

官方解釋是:JSON-lib is a java library for transforming beans, maps, collections, java arrays and XML to JSON and back again to beans and DynaBeans.

其實就是實現json 格式與java 類對象的互轉。 在Java代碼中可以很簡單的解析json格式的資料。

什麼狀況下使用Json-lib?

Java代碼中要解析JSON格式的字串,

1. 比如通過Ajax擷取的,或是從其他介面中過來的json 格式的字串;

2. 想傳遞一串很複雜的字串給Java代碼處理(比如使用applet 讀取檔案裡面的內容)。 當然這種方式你可以自己寫規則去解析,頻繁的使用split,而且要處理好特殊字元。估計得頭大。

怎麼開始使用Json-lib?

官方網址: http://json-lib.sourceforge.net/

需要準備的jar包

1. json-lib-2.4-jdk15.jar        目前最新版,  
http://sourceforge.net/projects/json-lib/files/

2. HttpClient            用來提供高效的、最新的、功能豐富的支援 HTTP 協議的用戶端編程工具包 。 http://hc.apache.org/downloads.cgi

3. commons Lang   這一組API是提供一些基礎的、通用的操作和處理,如自動產生toString()的結果 。   http://commons.apache.org/lang/download_lang.cgi

4. Commons Logging   Apache通用日誌工具 http://commons.apache.org/logging/download_logging.cgi

5. Commons Collections  為Java標準的Collections API提供了相當好的補充   http://commons.apache.org/collections/download_collections.cgi

6. Commons BeanUtils  利用反射機制對JavaBean的屬性進行處理
http://commons.apache.org/beanutils/download_beanutils.cgi

7. EZMorph  是一個簡單的java類庫用於將一種對象轉換成另外一種對象 http://sourceforge.net/projects/ezmorph/files/


執行個體展示

java Object ==> json

1. java Array ==>json string

String[] strArry = new String[]{"oscar1","oscar2","oscar3"};JSONArray jsArray = JSONArray.fromObject(strArry);String sJSONStr1 = jsArray.toString();System.out.println(sJSONStr1);

==>["oscar1","oscar2","oscar3"]

2.  java List ==> json string

List<String> list = new ArrayList<String>();list.add("id");list.add("name");JSONArray jsArray = JSONArray.fromObject(list);String sJSONStr =  jsArray.toString();System.out.println(sJSONStr);

==> ["id","name"]

3. Java Map ==> json string

Map<String,Object> map = new HashMap<String,Object>();map.put("id", 1);map.put("name", "Oscar");JSONObject json = JSONObject.fromObject(map);String sJSONStr1 =  json.toString();System.out.println(sJSONStr1);

==> {"id":1,"name":"Oscar"}

4. use JSONObject and JSONarray ==> json string

JSONObject jsobj = new JSONObject();jsobj.put("id", 1);jsobj.put("name", "oscar");JSONArray jsArray = new JSONArray();JSONObject jsobj2 = new JSONObject();jsobj2.put("day1", "65");jsobj2.put("day2", "66");jsArray.add(jsobj2);jsobj.element("weight", jsArray);String sJSONStr = jsobj.toString();System.out.println(sJSONStr);

{"id":1,"name":"oscar","weight":[{"day1":"65","day2":"66"}]}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.