2014-04-23 138 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