簡體   English   中英

包含數組的JSON對象到ArrayList <POJO> 與GSON

[英]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"}
]}

我目前正在將TypeTokenMap一起使用,以獲取容器對象以及對象列表,作為自定義對象的數組列表。 像這樣:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM