【问题标题】:Android gson deserialization into listAndroid gson 反序列化成列表
【发布时间】: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);

但这似乎也不起作用,我不知道这是否对我的情况有必要。

【问题讨论】:

    标签: android wcf-rest


    【解决方案1】:
    List<Group> groups = gson.fromJson(jsonString, new TypeToken<List<Group>>() {}.getType())
    

    【讨论】:

    • 我可以发誓我以前曾尝试过这种方式。我想我毕竟不需要容器类。最好构建一个列表或数组列表,看看我想如何在列表视图中显示其中一个字段?我的印象是我必须将该字段放入一个字符串 [] 以将其传递给列表视图适配器。
    • 我想弄清楚如何在列表视图中显示“名称”字段
    猜你喜欢
    • 1970-01-01
    • 2014-09-06
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-11
    相关资源
    最近更新 更多