[英]Unable to convert JSON array containing nested objects to POJO arraylist
[英]JSON Object Containing Array To ArrayList<POJO> With GSON
我是JSON和GSON的新手,我從輸入流中獲取JSON提要,並將其放入自定義對象的數組列表中。 JSON提要包含一個對象,其中包含更多對象的數組。 看起來像這樣:
{ "container":[
{"item_1":"item one"},
{"item_2":"item two"},
{"item_3":"item three"}
]}
我目前正在將TypeToken
與Map
一起使用,以獲取容器對象以及對象列表,作為自定義對象的數組列表。 像這樣:
InputStreamReader input = new InputStreamReader(connection.getInputStream());
Type listType = new TypeToken<Map<String, ArrayList<Item>>>(){}.getType();
Gson gson = new GsonBuilder().create();
Map<String, ArrayList<Item>> treeMap = gson.fromJson(input, listType);
ArrayList<Item> objects = treeMap.get("container");
input.close();
我想知道是否有一種方法可以跳過創建Map<String, ArrayList<Item>>
,並使用GSON直接從輸入流轉到ArrayList<Item>
。 只是為了合並我的代碼,創建地圖似乎是不必要的步驟。
一種選擇是定義一個具有container
屬性的包裝器類型,然后將JSON反序列化為該類型,而不是Map
。
public static class Wrapper {
public List<Item> container;
}
Wrapper wrapper = gson.fromJson(input, Wrapper.class);
List<Item> objects = wrapper.container;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.