使用数组在java中创建JSON文件
我使用JSON-simple-1.1.1,我想创建一个JSON文件,如下所示:使用数组在java中创建JSON文件,java,json,multidimensional-array,Java,Json,Multidimensional Array,我使用JSON-simple-1.1.1,我想创建一个JSON文件,如下所示: { "data": [ [ "1", "YES", "sp_1", "1", "xxx" ], [ "2", "NO",
{
"data": [
[
"1",
"YES",
"sp_1",
"1",
"xxx"
],
[
"2",
"NO",
"sp_2",
"2",
"yyyy"
],
[
"3",
"YES",
"sp_3",
"2",
"zzzz"
]
]
}
我尝试使用JSONObject和JSONArray,但我无法解决如何创建如上所述的多数组的问题一个小助手可以让生活更轻松:
public static JSONArray jsonArray(Object... values) {
JSONArray arr = new JSONArray();
arr.addAll(Arrays.asList(values));
return arr;
}
然后:
输出
我的问题写得不好。我并没有解释从数据库中读取的行,为此我不知道找到了多少行。内部阵列是dinamic 在Andreas的帮助下,我找到了以下解决方案:
public static JSONArray jsonArray(Object... values) {
JSONArray arr = new JSONArray();
arr.addAll(Arrays.asList(values));
return arr;
}
然后:
输出:
{"data":[["1","YES","sp_1","1","xxx"],["2","YES","sp_1","1","xxx"],["3","YES","sp_1","1","xxx"]]}
谢谢大家,很抱歉我的问题不清楚。您的问题是……所以,也许从教程开始,当您有一些代码和更具体的问题时,请回到这里。谢谢Andreas,您的示例非常完美。我做了一些更改,因为在我的例子中,内部数组是数据库中的行,所以我不知道找到了多少行。但在你的帮助下,这很简单。
public static JSONArray jsonArray(Object... values) {
JSONArray arr = new JSONArray();
arr.addAll(Arrays.asList(values));
return arr;
}
JSONObject jo = new JSONObject();
JSONArray ja = new JSONArray();
// loop to database row. To simplify code example write some database row found...
ja.add(jsonArray("1", "YES", "sp_1", "1", "xxx"));
ja.add(jsonArray("2", "YES", "sp_1", "1", "xxx"));
ja.add(jsonArray("3", "YES", "sp_1", "1", "xxx"));
jo.put("data", ja );
System.out.print(jo);
{"data":[["1","YES","sp_1","1","xxx"],["2","YES","sp_1","1","xxx"],["3","YES","sp_1","1","xxx"]]}