天天看點

Java中的對象轉JSON

先說說JSON

JSON(JavaScript Object Notation, JS 對象标記) 是一種輕量級的資料交換格式。說的直白些,就是以前通過xml方式傳輸資料太麻煩,于是用JSON去傳輸資料相對簡便。

背景到前台,經常會遇到前台架構需要傳入JSON資料。

是以,經過學習,和實戰,總結了以下内容:

由于我的項目是maven建構的,是以引入以下依賴:

        <dependency>

            <groupId>net.sf.json-lib</groupId>

            <artifactId>json-lib</artifactId>

            <version>2.4</version>

            <classifier>jdk15</classifier>

        </dependency>

引入以上依賴後,會用到兩個類JSONArray、JSONObject 

(請導入import net.sf.json.JSONArray;      import net.sf.json.JSONObject;),不要導入錯包了!!!

開始說正題,在實際的開發中,我們經常用到List、Map、String,是以先說說集合中List、Map

     我們知道List中存取的對象,實際上是List組成的一個數組集合,類似XXXList.toString() 就是這個[Wine [id=1, capacity=375.0, brand=卡瓦, price=39, type=起泡酒], Wine [id=2, capacity=750.0, brand=盧卡斯幹紅, price=89, type=幹紅]],         (XXXList :你的List集合)

       如何将List轉成JSON對象呢??

      JSONArray wineObject = JSONArray.fromObject(XXXList);                       

     如何将Map轉成JSON對象呢???

        map.put("code", 0);

        map.put("msg", "");

        map.put("count", 7);                                            

      JSONObject jsonObject = JSONObject.fromObject(map);                             //map就是你聲明的Map的對象

   如何将String轉成JSON對象呢???

  這就需要固定JSON格式類型的字元串了。比如 String s="{\'p\':1,\'data\':100}";

  用轉map的方法去做,  JSONObject jsonObject = JSONObject.fromObject(s);