JSON 頂層為數組或嵌套列表,直接 gson.fromJson(json, List.class) 因類型擦除只能得到 List<LinkedTreeMap>。
Type listType = new TypeToken<List<Entity>>() {}.getType();
List<Entity> list = gson.fromJson(json, listType);// JSON: {"data": [{"items": [{"id":1},{"id":2}]}]}
class Wrapper {
List<Group> data;
}
class Group {
List<Item> items;
}
Type wrapperType = new TypeToken<Wrapper>() {}.getType();
Wrapper w = gson.fromJson(json, wrapperType);@SerializedName)。TypeToken,靜態常量復用。