0

わかりました。次のようなjsonが入っています。

{count:xxx, important:[{...}]}

私が気にするのは重要なオブジェクトだけです。カスタムデシリアライザーでできることはありますか、それともGSONにその重要なjsonオブジェクトをデシリアライズさせることができるものはありますか?

また、逆シリアル化されたオブジェクトの外観は次のようになります。

List<Important> = Gson.fromJson(arg0, new TypeToken<ArrayList<Important>>(){}.getType() );
4

1 に答える 1

3

はい、JsonParserGson ライブラリのクラスを使用して、JsonObject として読み取ることができます。次に、必要な内部オブジェクトを取り出し、Gson を使用して Java クラスを埋めます。

例:

Reader jsonReader =
                new BufferedReader(
                new InputStreamReader(getIStream("myFile.json")));
JsonParser parser = new JsonParser();
JsonObject top = parser.parse(jsonReader).getAsJsonObject();

JsonElement importantEl = top.get("important");

//Parse the important element into whatever structure you're creating
Gson gson = new Gson();
List<Important> important 
    = Gson.fromJson(importantEl, new TypeToken<ArrayList<Important>>(){}.getType() );
于 2012-10-10T17:49:45.183 に答える