gpt4 book ai didi

java - 使用Gson解析对象数组

转载 作者:行者123 更新时间:2023-12-02 12:36:14 24 4
gpt4 key购买 nike

My Rest 服务产生如下响应

{
"feeds": [
{
"id": 672,
"imagePath": "http://pixyfi.com/uploads/image1.jpg",
"description": "Off White Cotton Net^The Dress Is Made From Cotton Net. It Is Stretchable And The Material Is Really Good. It Is A Bodycon Dress.",
"uploader": {
"id": 459,

},
"rejected": false,
"moderator": {
"id": 95,
},
"moderatedOn": "2016-12-19"
"imagePaths": [
"uploads/image1.jpg"
]
},
{
"id": 672,
"imagePath": "http://pixyfi.com/uploads/mage2.jpg",
"description": "Off White Cotton Net^The Dress Is Made From Cotton Net. It Is Stretchable And The Material Is Really Good. It Is A Bodycon Dress.",
"uploader": {
"id": 459,

},
"rejected": false,
"moderator": {
"id": 95,
},
"moderatedOn": "2016-12-19"
"imagePaths": [
"uploads/image2.jpg"
]
}
]
}

如何用Gson解析它。在我的 Android 客户端中,我也有生成此 JSON 的相同 Feed 类。
注意:我已将 Spring boot 用于其余 API,并且此 JSON 是使用 ResponseEntity 生成的。

最佳答案

首先,确保您拥有有效的 JSON。上述内容在您的情况下无效。

如果 json 对象包含单个元素,则无需在其后放置逗号。 (主持人上传者对象中id后面的逗号)。您需要删除它。此外,您还需要在 moderatedOn 值后面放置一个逗号。

现在,在您获得有效的类别后,您就拥有了一个 Feed 类。为了将您的 json feeds Array 映射到您的列表上。您需要执行以下操作。

Gson gson = new Gson();

Type feedsType = new TypeToken<ArrayList<Feed>>(){}.getType();

List<Feed> feedList = gson.fromJson(yourJsonResponseArray, feedsType);

Your Classes are must be like these. Feed Class

public class Feed
{
private String id;
private String imagePath;
private Moderator moderator;
private String description;
private String rejected;
private Uploader uploader;
private String moderatedOn;
private String[] imagePaths;
public String getId ()
{
return id;
}
public void setId (String id)
{
this.id = id;
}
public String getImagePath ()
{
return imagePath;
}
public void setImagePath (String imagePath)
{
this.imagePath = imagePath;
}
public Moderator getModerator ()
{
return moderator;
}
public void setModerator (Moderator moderator)
{
this.moderator = moderator;
}
public String getDescription ()
{
return description;
}
public void setDescription (String description)
{
this.description = description;
}
public String getRejected ()
{
return rejected;
}
public void setRejected (String rejected)
{
this.rejected = rejected;
}
public Uploader getUploader ()
{
return uploader;
}
public void setUploader (Uploader uploader)
{
this.uploader = uploader;
}
public String getModeratedOn ()
{
return moderatedOn;
}
public void setModeratedOn (String moderatedOn)
{
this.moderatedOn = moderatedOn;
}
public String[] getImagePaths ()
{
return imagePaths;
}
public void setImagePaths (String[] imagePaths)
{
this.imagePaths = imagePaths;
}
}

Moderator Class

public class Moderator
{
private String id;

public String getId ()
{
return id;
}

public void setId (String id)
{
this.id = id;
}
}

Uploader Class

public class Uploader
{
private String id;

public String getId ()
{
return id;
}

public void setId (String id)
{
this.id = id;
}
}

关于java - 使用Gson解析对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45120991/

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