JSON配列にJavaのJSON文字列

Mointy:

私はその中に複数のJsonObjectsで文字列としてJsonArrayを持っています。私は、Java開発者はないですので、それはそうJsonObjectsに、文字列と文字列に変換するJsonObjectsに複雑になっているので、私は、少し混乱しています。

私はこれ持ってJsonArrayを文字列として。

[{
    "id":"XXXX-XXXX-XXXX-XXXX-XXXX",
    "name":"Name"
},{
    "id":"XXXX-XXXX-XXXX-XXXX-XXXX",
    "name":"Name"
}]

それは変わり、私はそれが含まれてどのようなデータを知りません。

目標:私は私が働くことができるようJsonArrayにJSON文字列を変換する必要があります。私はgsonを試みたが、私は、空のオブジェクトを得ました。

私が何をしようとしました:

Gson g = new Gson();
JSONObject jsons[] = g.fromJson(JsonString, JSONObject[].class);

出力:

Log.e ( "JSON", Integer.toString(jsons.length)); ---> 2 (Right!)
Log.e ( "JSON", jsons[0].toString()); ---> { } empty Object 
デメトリオ:

あなたは使用する必要がありますJsonArray代わりにJsonObject[]サンプルコード:

String json = "[{ " + 
              "    \"id\":\"XXXX-XXXX-XXXX-XXXX-XXXX\", " + 
              "    \"name\":\"Name\" " + 
              "},{ " + 
              "    \"id\":\"XXXX-XXXX-XXXX-XXXX-XXXX\", " + 
              "    \"name\":\"Name\" " + 
              "}]";
Gson gson = new Gson();
JsonArray array = gson.fromJson(json,JsonArray.class);
System.out.println(array);

出力:

[{"id":"XXXX-XXXX-XXXX-XXXX-XXXX","name":"Name"},{"id":"XXXX-XXXX-XXXX-XXXX-XXXX","name":"Name"}]

あなたが仕事をしたい場合JsonObject[]、あなたはこのような何かを行うことができます:

JsonArray array = gson.fromJson(json,JsonArray.class);
JsonObject[] objects = new JsonObject[array.size()];
for(int i=0;i<array.size();i++)
    objects[i] = array.get(i).getAsJsonObject();
for(JsonObject x : objects)
    System.out.println(x);

出力:

{"id":"XXXX-XXXX-XXXX-XXXX-XXXX","name":"Name"}
{"id":"XXXX-XXXX-XXXX-XXXX-XXXX","name":"Name"}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=339316&siteId=1
おすすめ