我想使用GSON将其反序列化为一个Post列表,但不知道如何告诉GSON如何忽略根元素“Post”(因为它是一个对象)而只处理数组。
我有:
Type postTypeList = new TypeToken<List<Post>>(){}.getType();
JsonParser jsonParser = new JsonParser();
JsonElement jsonElement = jsonParser.parse(myJSONString);
JsonObject postsRootObj = jsonElement.getAsJsonObject();
List<Post> postList = gson.fromJson(postsRootObj.get("posts"), postTypeList);但是..。我不想要整个JsonParser,我宁愿直接把它传递给gson.fromJson函数。有没有办法做到这一点?
{ "posts":
[
{
"username": "John",
"message": "I'm back",
"time": "2010-5-6 7:00:34"
"validator":[{
"prog": "Name1",
"name": "Name2",
"computername": "Name3",
"date": "2010-11-20 19:39:55"
}]
}
,
{
"username": "Smith",
"message": "I've been waiting",
"time": "2010-4-6 10:30:26"
"validator":[{
"prog": "Name1",
"name": "Name2",
"computername": "Name3",
"date": "2010-11-20 19:39:55"
}]
}
]}发布于 2012-02-01 18:08:01
创建一个将List<Post>作为其成员的包装类
public class PostList{
private List<Post> posts;
// getter and setters for posts
}然后以类似的方式使用fromJson
List<Post> postList = gson.fromJson(myJSONString,PostList.class);发布于 2016-12-01 02:49:58
上面有一个修正。用法应为:
PostList postList = gson.fromJson(myJSONString,PostList.class);
Post post = postlist.get(index) //index is the index of list you want to accesshttps://stackoverflow.com/questions/8932530
复制相似问题