我试图从数据库中获取数据,然后尝试使用 ArrayList 设置 JSON 文档中的值,但我无法做到这一点。 可以说这是硬代码 JSON,我想将其转换为动态 JSON 查看明文? 注意:代码块中的文本内容会自动换行
String json = "{ \"demo\":[[ \"Sam\",\"Sola\",\"Accun\"],[\"Raj\",\"Sanjosh\",\"CA\"],[\"Karan\",\"Toshi\",\"Java\"]]}";
现在,为了动态嵌入 JSON 行,我使用了 ArrayList,如下所示: 查看明文? 注意:代码块中的文本内容会自动换行
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 文档中。但不知道该怎么做。 查看明文? 注意:代码块中的文本内容会自动换行
String h = "{ \"demo\":[ "+
for(Object o : al){
}
+"]}";
请指导我解决这个问题......谢谢!
最佳答案
您最好使用现有的库之一,而不是手动尝试构建 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);
关于java - 使用 foreach 循环创建 JSON 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23250658/