【问题标题】:arraylist to json in javajava中的arraylist到json
【发布时间】:2012-09-16 08:36:57
【问题描述】:

我有 3 个包含特定字符串的字符串数组,如下所示:

String jsonA[] = new String[list.size()];
    String jsonA2[] = new String[list2.size()];
    String jsonA3[] = new String[list3.size()];
    for(int i=0;i<str.length;i++){
        jsonA[i]="title:"+str[i]+"url:"+str2[i]+"banner:"+str3[i];
        //System.out.println(jsonA[i]);
        Gson gson = new Gson();
        String json = gson.toJson(jsonA[i]);
        System.out.println(json);
    }

让我这样解释:

jsonA[] has: str1,str2,str3
                          jsonA2[] has: str4,str5,str6
                          jsonA3[] has: str7,str8,str9

我想制作一个 3D 数组,如下所示:

json3D[i][i][i]       = str1,str4,str7;
json3D[i+1][i+1][i+1] = str2,str5,str8;
json3D[i+2][i+2][i+2] = str3,str6,str9;

最后将它们转换为 json。

感谢您的帮助。

【问题讨论】:

  • str 字符串数组持有什么?我认为您的循环可能无法按预期工作..
  • 它保存列表数组变量。实际上它有效,但我不知道如何构造 3d 数组。
  • 您可以实例化您的 3d 数组并在其中迭代地存储 3 个数组中的数据,但自动将 3d 数组转换为 json 似乎很困难。我会尝试一些 json 库并回复您。

标签: java arrays json multidimensional-array arraylist


【解决方案1】:

您对 3D 数组的表示:

json3D[i][i][i]       = str1,str4,str7;
json3D[i+1][i+1][i+1] = str2,str5,str8;
json3D[i+2][i+2][i+2] = str3,str6,str9;

要持有:

jsonA[] has: str1,str2,str3
jsonA2[] has: str4,str5,str6
jsonA3[] has: str7,str8,str9

似乎不对。上面名为 json3D 的结构看起来像一个 2D 数组,而不是 3D 数组。同样在 3D 数组中,array[i] 将指向 2D 数组,array[i][j] 将指向 1D 数组,array[i][j][k] 将指向单个项目。

如果 jsonA、jsonA2、jsonA3 是 3 个单维数组,那么要将它们全部存储在一起,您需要一个 3X3 大小的 2D 数组,其中包含 9 个项目(如您在问题中所示)。

如果您已被分配仅使用 3d 数组,那么您将需要更多数据来填充它。因为 3X3X3 数组将包含 27 个项目,而不是这里的 9 个。

话虽如此,无论您需要使用什么数组 - 2D 或 3D - 您都可以简单地遍历 3 个 1D 数组来填充它,然后一个简单的 new Gson().toJson(array) 将返回适当的 JSON 字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    相关资源
    最近更新 更多