我有以下类(class):
public class UserObject implements Serializable
{
public Integer id;
public String name;
public String phoneno;
public UserObject()
{
this.id = new Integer(0);
this.name = "";
this.phoneno = "";
}
}
我有一个 json
字符串,如下所示:
[
{
"id": 1,
"name": "First Name",
"phoneno": "0123452",
},
{
"id": 2,
"name": "Second Name",
"phoneno": "0123452",
},
{
"id": 3,
"name": "Third Name",
"phoneno": "0123455",
}
]
我可以使用以下代码轻松地将 UserObject
的 Collection
转换为 JSON
:
Collection users = new Vector();
UserObject userObj = new UserObject();
userObj.id=1; userObj.name="First Name"; userObj.phoneno="0123451";
users.add(userObj);
userObj.id=2; userObj.name="Second Name"; userObj.phoneno="0123452";
users.add(userObj);
userObj.id=3; userObj.name="Second Name"; userObj.phoneno="0123455";
users.add(userObj);
Gson gson = new Gson();
String json = gson.toJson(users);
但我不确定如何将 JSON
string
转换为 objects
的 collection
?我发现我可以使用 gson.fromJson()
但不知道如何用于 Collection
。请帮忙。
最佳答案
以下代码允许您获取 UserObject
的 Collection
Type token = new TypeToken<Collection<UserObject>>() {}.getType();
Collection<UserObject> result = gson.fromJson(json, token);
此外,请注意问题中提供的 json
无效,因为 phoneno
字段后有一个额外的逗号。这是正确的:
[
{
"id": 1,
"name": "First Name",
"phoneno": "0123452"
},
{
"id": 2,
"name": "Second Name",
"phoneno": "0123452"
},
{
"id": 3,
"name": "Third Name",
"phoneno": "0123455"
}
]
关于android - 如何使用 GSON 将 JSON 字符串转换为对象集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15300179/