数组反序列化的Gson数组 [英] Gson Array of Array Deserialization
本文介绍了数组反序列化的Gson数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下 JSON 结构:
<预><代码>[{身份证":1,子类别":[{身份证":2,子类别":[]},{身份证":3,子类别":[]}]},{身份证":4,子类别":[{身份证":5,子类别: []}]}]类别的模型类(为简单起见,省略了标题等字段),用于反映 JSON 结构:
公共类类别{整数 ID = 0;ArrayList<类别>子类别 = 空;}
我正在尝试使用 Gson 库 (2.2.4) 解析它,但很难将内部数组反序列化为数组列表:
Gson gson = new Gson();类型 collectionType = new TypeToken>(){}.getType();ArrayList 类别 = gson.fromJson(json, collectionType);
Category.subCategories 始终为空.
解决方案
gson.fromJson(json, Category[].class)
对我很有用.如果你想要一个 ArrayList 而不是一个数组:
new ArrayList(Arrays.asList(gson.fromJson(json, Category[].class)));
I've the following JSON structure:
[
{
"id": 1,
"subcategories": [
{
"id": 2,
"subcategories": [
]
},
{
"id": 3,
"subcategories": [
]
}
]
},
{
"id": 4,
"subcategories": [
{
"id": 5,
subcategories: [
]
}
]
}
]
The model class for a Category (some fields like title are omitted for simplicity), for reflecting JSON structure:
public class Category {
int id = 0;
ArrayList<Category> subCategories = null;
}
I'm trying to parse that with Gson library (2.2.4), having hard times deserializing inner array to arraylist:
Gson gson = new Gson();
Type collectionType = new TypeToken<ArrayList<Category>>(){}.getType();
ArrayList categories = gson.fromJson(json, collectionType);
Category.subCategories is always null.
解决方案
gson.fromJson(json, Category[].class)
worked good for me. If you want an ArrayList instead of an Array:
new ArrayList<Category>(Arrays.asList(gson.fromJson(json, Category[].class)));
这篇关于数组反序列化的Gson数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文