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という名前の構造は、3D配列ではなく、2D配列のように見えます。また、3D配列でarray[i]は、2D配列array[i][j]を指し、1D配列array[i][j][k]を指し、単一のアイテムを指します。

jsonA、jsonA2、jsonA3が3つの単一次元配列である場合、それらをすべて一緒に格納するには、9つのアイテムを保持するサイズ3X3の2D配列が必要です(質問で示したように)。

3D配列のみを使用するように割り当てられている場合は、データを追加するためにさらにデータが必要になります。3X3X3配列は、ここでは9個ではなく、27個のアイテムを保持するためです。

そうは言っても、使用する必要のある配列(2Dまたは3D)は、3つの1D配列を反復処理して入力するだけで、単純new Gson().toJson(array)に適切なJSON文字列が返されます。

于 2012-09-24T22:03:22.447 に答える