2011-10-31 96 views
2

我想解析一个json字符串到列表或arraylist。我有以下的JSON响应从我工作的一个Android项目Android gson反序列化到列表

[ 
    { 
     "Class": "Lorem", 
     "Company": "Ipsum", 
     "Id": "XXXX", 
     "Name": "Avent" 
    }, 
    { 
     "Class": "Consectetur", 
     "Company": "Adipiscing", 
     "Id": "YYYYY", 
     "Name": "Nulla" 
    } 
] 

我读过这里解析GSON结果几个例子创建了一个WCF RESTful服务来了,但我有困难,制定一个容器类正如我所见。我已经知道它将单个结果读入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 =新TypeToken>(){} .getType(); gson.toJson(myStrings,listType);

但这似乎并不奏效,而且我不知道这对我的情况是否有必要。

回答

4
List<Group> groups = gson.fromJson(jsonString, new TypeToken<List<Group>>() {}.getType()) 
+0

我可以发誓我曾试过这种方式。我想我毕竟不需要容器类。最好是建立一个列表还是一个数组列表,看看我想如何在列表视图中显示一个字段?我的印象是,我必须将该字段放入一个字符串[]中,以将它传递给列表视图适配器。 –

+0

我想弄清楚如何在列表视图中显示“名称”字段 –