好的,我有一个 json 进来,看起来像这样:
{count:xxx, important:[{...}]}
我只关心重要的对象。有什么我可以用自定义反序列化器或任何我可以让 GSON 反序列化那个重要的 json 对象的东西吗?
我希望反序列化对象的外观也是这样的:
List<Important> = Gson.fromJson(arg0, new TypeToken<ArrayList<Important>>(){}.getType() );
是的,您可以使用JsonParser
Gson 库中的类将其作为 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() );