我的 JSON 响应字符串的结构如下:
{
"1":{
"data1":"1","data2":"test1", ...
},
"2":{
"data1":"6","data2":"test2", ...
},
...
}
我想要将值放入 ArrayList<MyItem>
中。我使用GSON,通常我可以这样做:
ArrayList<MyItem> items =
gson.fromJson(jsonString, new TypeToken<ArrayList<MyItem>>() {}.getType());
问题是,它不起作用,因为我的 JSON 字符串以数字作为键,但我只想获取要放入 ArrayList
中的值。 (不幸的是,JSON 字符串不能由我自己更改)。我怎样才能有效地做到这一点?
最佳答案
我可能会将 JSON 反序列化为 java.util.Map
,使用 the Map.values()
method 从 Map
获取作为 Collection
的值,然后使用 the constructor that takes a Collection
创建一个新的 ArrayList
。
关于Java with GSON - 仅将值反序列化为 JSON 字符串的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15256646/