0

我有 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。

谢谢你的帮助。

4

1 回答 1

0

您对 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 个。

That being said, whatever array you need to use - 2D or 3D - you can simply iterate over your 3 1D arrays to populate it and then a simple new Gson().toJson(array) will return the appropriate JSON string.

于 2012-09-24T22:03:22.447 回答