[英]JSON GSON.fromJson Java Objects
我想把我的Json加載到我的班級
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"
}]
}]
}]
}
(請注意,我向最深的嵌套朋友添加了一位朋友,以便您了解如何在集合中指定多個對象)
鑒於此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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.