2014-04-23 101 views
0

我想從數據庫中獲取數據,然後嘗試使用ArrayList設置JSON文檔中的值,但我無法做到這一點。 可以說這是硬代碼JSON,我想將其轉換爲動態JSON view plainprint? 注意:在碼塊文本內容是自動字包裹使用foreach循環創建JSON文檔

String json = "{ \"demo\":[[ \"Sam\",\"Sola\",\"Accun\"],[\"Raj\",\"Sanjosh\",\"CA\"],[\"Karan\",\"Toshi\",\"Java\"]]}"; 

現在,以動態地嵌入JSON行中,我使用的ArrayList如下: 視圖plainprint? 注:在代碼塊文本內容自動爲自動換行

ArrayList<Object> al = new ArrayList<Object>(); 

.............some database code.......... 

while (result.next()) { 

al.add("[ \"" + result.getString(1) + "\", 
       \""+ result.getString(3) + "\", 
       \"" + result.getString(4)+ "\", 
       \"" + result.getString(5) + "\", 
       \""+ result.getString(6) + "\", 
       \"" + result.getString(7)+ "\", 
       \"" + result.getString(8) + "\"]"); 

} 

現在我想這個集合嵌入到JSON文件。但不知道如何做到這一點。 view plainprint? 注:在代碼塊文本內容自動爲自動換行

String h = "{ \"demo\":[ "+ 
     for(Object o : al){ 

     } 
     +"]}"; 

請指導我通過這個....謝謝得到!

回答

1

而不是手動嘗試構建JSON,你最好使用現有的庫之一。它看起來像你想生成是一個簡單的映射的JSON,所以你可以做這樣的事情:

List<String> list = new ArrayList<String>(); 
    list.add(result.getString(1)); 
    list.add(result.getString(3)); 
    //etc 
    Map<String, List<String>> map = new HashMap<String, List<String>>(); 
    map.put("demo", list); 
    String json = new Gson().toJson(map); 
+0

wow..thanks..never認爲地圖可以實現這樣...感謝您的頭親愛的......應該嘗試實現這個代碼......乾杯! – user3565584

+0

Gson - https://code.google.com/p/google-gson/ – spiderman