gpt4 book ai didi

android - 如何使用 GSON 将 JSON 字符串转换为对象集合?

转载 作者:太空狗 更新时间:2023-10-29 16:05:54 26 4
gpt4 key购买 nike

我有以下类(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",
}
]

我可以使用以下代码轻松地将 UserObjectCollection 转换为 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 转换为 objectscollection?我发现我可以使用 gson.fromJson() 但不知道如何用于 Collection。请帮忙。

最佳答案

以下代码允许您获取 UserObjectCollection

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com