將數據封裝爲Json數據格式

  1. 1. List集合轉換成json代碼  
  2. List list = new ArrayList();  
  3. list.add( ”first” );  
  4. list.add( ”second” );  
  5. JSONArray jsonArray2 = JSONArray.fromObject( list );  
  6. 2. Map集合轉換成json代碼  
  7. Map map = new HashMap();  
  8. map.put(”name”“json”);  
  9. map.put(”bool”, Boolean.TRUE);  
  10. map.put(”int”new Integer(1));  
  11. map.put(”arr”new String[] { “a”“b” });  
  12. map.put(”func”“function(i){ return this.arr[i]; }”);  
  13. JSONObject json = JSONObject.fromObject(map);  
  14. 3. Bean轉換成json代碼  
  15. JSONObject jsonObject = JSONObject.fromObject(new JsonBean());  
  16. 4. 數組轉換成json代碼  
  17. boolean[] boolArray = new boolean[] { truefalsetrue };  
  18. JSONArray jsonArray1 = JSONArray.fromObject(boolArray);  
  19. 5. 一般數據轉換成json代碼  
  20. JSONArray jsonArray3 = JSONArray.fromObject(”[‘json’,’is’,’easy’]” );  
1. List集合轉換成json代碼
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray2 = JSONArray.fromObject( list );
2. Map集合轉換成json代碼
Map map = new HashMap();
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[] { "a", "b" });
map.put("func", "function(i){ return this.arr[i]; }");
JSONObject json = JSONObject.fromObject(map);
3. Bean轉換成json代碼
JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
4. 數組轉換成json代碼
boolean[] boolArray = new boolean[] { true, false, true };
JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
5. 一般數據轉換成json代碼
JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );

  1. // 普通的數據轉化爲json格式  
  2.     public static void test3()  
  3.     {  
  4.         String str = ”[“;  
  5.         str += “‘wy’,’12’”;  
  6.           
  7.         str += ”]”;  
  8.           
  9.         System.out.println(str);  
  10.         JSONArray obj = JSONArray.fromObject(str);    
  11.         System.out.println(obj);  
  12.         // {“name”:”wy”,”age”:”12”}  
  13.     }  
  14.     // 普通的數據轉化爲json格式  
  15.     public void test2()  
  16.     {  
  17.         String str = ”{“;  
  18.         str += ”name:[“;  
  19.         str += “‘wy’,’eu’,’we’”;  
  20.         str += ”]”;  
  21.           
  22.         str += ”}”;  
  23.                   
  24.         System.out.println(str);  
  25.         JSONObject obj = JSONObject.fromObject(str);      
  26.         System.out.println(obj);  
  27.     }  
  28.       
  29.     // list 格式轉化爲json  
  30.     public void test1()  
  31.     {  
  32.         List list = new ArrayList();  
  33.         for(int i = 0; i < 10; i++)  
  34.         {  
  35.             list.add(”test” + i);  
  36.         }  
  37.         System.out.println(list);  
  38.         JSONArray js = JSONArray.fromObject(list);  
  39.         System.out.println(js);  
  40.     }  
// 普通的數據轉化爲json格式
    public static void test3()
    {
        String str = "[";
        str += "'wy','12'";

        str += "]";

        System.out.println(str);
        JSONArray obj = JSONArray.fromObject(str);  
        System.out.println(obj);
        // {"name":"wy","age":"12"}
    }
    // 普通的數據轉化爲json格式
    public void test2()
    {
        String str = "{";
        str += "name:[";
        str += "'wy','eu','we'";
        str += "]";

        str += "}";

        System.out.println(str);
        JSONObject obj = JSONObject.fromObject(str);    
        System.out.println(obj);
    }

    // list 格式轉化爲json
    public void test1()
    {
        List list = new ArrayList();
        for(int i = 0; i < 10; i++)
        {
            list.add("test" + i);
        }
        System.out.println(list);
        JSONArray js = JSONArray.fromObject(list);
        System.out.println(js);
    }


1.Google Json利器之Gson

  Gson是 Google 提供的用來在 Java 對象和 JSON 數據之間進行映射的 Java 類庫。可以將一個 JSON 字符串轉成一個 Java 對象,或者反過來。

  關於Gson更詳細的資料,請訪問這裏:

  GsonAPI:Gson最新版本的API文檔

  Gson user guide:在代碼中使用Gson進行JSON格式轉換的一些例子

  Gson designdocument:包含了在Gson使用過程中的一些問題。

  2.阿里巴巴 Json利器之FastJson

  阿里巴巴說,fastjson是最快的json庫。特別在parser方面,fastjson的性能令人驚奇,甚至超越了二進制協議的protobuf

  關於FastJson的具體文檔資料,點點這裏

  3.IBM Json利器之Json4J

       IBM封裝的一個json工具包,官方的介紹倒是不少,不過真正的用戶不多。官方的介紹文字貼一下吧。

  簡單 Java 模型,用於構造和處理要作爲 JSON 實現來呈示的數據。  

  在期望將 Web Service 產生的 XML 應答轉換爲 JSON 結構,以方便在“異步 JavaScript 和 XML”(Ajax) 應用程序中使用的情況下,能夠從 XML 快速轉換爲 JSON。進行這種轉換帶來好處,即採用 Ajax 模式的應用程序可以處理採用 JSON 格式的數據,而在 Microsoft InternetExplorer XML 變換和其他特定於平臺的 XML 解析器中不必依賴 ActiveX 對象。此外,採用 JSON 格式的數據更容易壓縮,因此傳輸效率更高。

  JSON 字符串和流解析器,它可以生成相應的 JSONObject,此對象採用 Java 語言來表示 JSON 結構。然後,您可以更改此 JSONObject,並將更改應用於 JSON 實現。


 json-lib和org.json的使用幾乎是相同的,我總結出的區別有兩點:

      1. org.json比json-lib要輕量得多,前者沒有依賴任何其他jar包,而後者要依賴ezmorph和commons的lang、logging、beanutils、collections等組件

      2. json-lib在構造bean和解析bean時比org.json要方便的多,json-lib可直接與bean互相轉換,而org.json不能直接與bean相互轉換而需要map作爲中轉,若將bean轉爲json數據,首先需要先將bean轉換爲map再將map轉爲json,比較麻煩。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章