gpt4 book ai didi

java - JSON GSON.fromJson Java 对象

转载 作者:IT老高 更新时间:2023-10-28 12:56:00 27 4
gpt4 key购买 nike

我正在尝试将我的 Json 加载到我的类(class)中

public User() {
this.fbId = 0;
this.email = "";
this.name = "";
this.thumb = "";
this.gender = "";
this.location = "";
this.relationship = null;
this.friends = new ArrayList();
}
{
users:{
user:{
name:'the name',
email:'some@email.com',
friends:{
user:{
name:'another name',
email:'this@email.com',
friends:{
user:{
name:'yet another name',
email:'another@email.com'
}
}
}
}
}
}
}

我正在努力让 GSON 使用以下代码将用户详细信息加载到上述 Java 对象中

User user = gson.fromJson(this.json, User.class);

最佳答案

JSON 无效。 {} 不能表示集合。它代表一个对象。集合/数组将由 [] 用逗号分隔的对象表示。

以下是 JSON 的外观:

{
users:[{
name: "name1",
email: "email1",
friends:[{
name: "name2",
email: "email2",
friends:[{
name: "name3",
email: "email3"
},
{
name: "name4",
email: "email4"
}]
}]
}]
}

(请注意,我在嵌套最深的 friend 中添加了一个 friend ,以便您了解如何在集合中指定多个对象)

鉴于此 JSON,您的包装类应如下所示:

public class Data {
private List<User> users;
// +getters/setters
}

public class User {
private String name;
private String email;
private List<User> friends;
// +getters/setters
}

然后转换它,使用

Data data = gson.fromJson(this.json, Data.class);

要获得用户,请使用

List<User> users = data.getUsers();

关于java - JSON GSON.fromJson Java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5314813/

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