使用数组在java中创建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",

我使用JSON-simple-1.1.1,我想创建一个JSON文件,如下所示:

    {
       "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"]]}