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