私が持っているこのようなJSON文字列:Gson-解析ArrayListにJSONオブジェクトのJSON配列<org.json.JSONObject>
私はこのPOJOモデルに解析する{
"r": [
{
"pic": "1.jpg",
"name": "Name1"
},
{
"pic": "2.jpg",
"name": "Name2"
},
{
"pic": "3.jpg",
"name": "Name3"
}
]
}
:
public class Catalog {
@SerializedName("r")
@Expose
private List<JSONObject> r = new ArrayList<JSONObject>();
public List<JSONObject> getR() {
return r;
}
public void setR(List<JSONObject> r) {
this.r = r;
}
}
私はこの方法を解析しています
:
Catalog cat = new Gson().fromJson(jsonString,Catalog.class);
しかし、最終的には、このJSONに
を取得しています{
"r": [
{
"nameValuePairs": {}
},
{
"nameValuePairs": {}
},
{
"nameValuePairs": {}
}
]
}
com.google.gson.JsonObject
を使用しないことにご注意ください。 私は使いたいorg.json.JSONObject
です。私のコードのほとんどがそれを使用しているので、これをどのように達成するのですか?
あなた 'JsonDeseriailzer'を実装し、 '.registerTypeAdapter(JSONObject.class、jsonObjectJsonDeserializerInstance)'と 'GsonBuilder'でそれを登録します。しかし、 'pic'と' name'フィールドを持つJavaマッピングではなく、 'JSONObject'を使う必要があるのはなぜですか? –
なぜ 'org.json.JSONObject'が必要なのですか? –
'JSONObjects'の' JSONArray'を 'JSONObjects'の' List'に変換する理由は何ですか? 'JSONArray'と' List'で 'JSONObjects'を繰り返し処理することができます。 –