Android gson 反序列化成列表
Posted
技术标签:
【中文标题】Android gson 反序列化成列表【英文标题】:Android gson deserialization into list 【发布时间】:2011-12-19 00:55:09 【问题描述】:我正在尝试将 json 字符串解析为列表或数组列表。我有以下 json 响应来自我为 android 项目创建的 WCF RESTful 服务
[
"Class": "Lorem",
"Company": "Ipsum",
"Id": "XXXX",
"Name": "Avent"
,
"Class": "Consectetur",
"Company": "Adipiscing",
"Id": "YYYYY",
"Name": "Nulla"
]
我在此处阅读了 几个 解析 gson 结果的示例,但我在执行容器类时遇到了困难,正如我所见。我已经将单个结果读入 Group 类,但无法将其解析为任何类型的 List 或 ArrayList。
组类:
public class Group
private String Id;
private String Name;
private String Class;
private String Company;
组容器类:
public class Groups
private List<Group> GRP;
gson 解析语句:
Groups GRP = gson.fromJson(jsonString, Groups.class);
我确实必须对 jsonString 进行一些操作,因为它在字符串中显示了一些空格(在逗号之后),并且在我删除它们之后它开始工作,至少用于解析为单个元素。不确定这是否会影响任何事情,但我想我会提到它。
我也试过了
类型 listType = new TypeToken>() .getType(); gson.toJson(myStrings, listType);
但这似乎也不起作用,我不知道这是否对我的情况有必要。
【问题讨论】:
【参考方案1】:List<Group> groups = gson.fromJson(jsonString, new TypeToken<List<Group>>() .getType())
【讨论】:
我可以发誓我以前曾尝试过这种方式。我想我毕竟不需要容器类。最好构建一个列表或数组列表,看看我想如何在列表视图中显示其中一个字段?我的印象是我必须将该字段放入一个字符串 [] 以将其传递给列表视图适配器。 我想弄清楚如何在列表视图中显示“名称”字段以上是关于Android gson 反序列化成列表的主要内容,如果未能解决你的问题,请参考以下文章