gpt4 book ai didi

java - 使用 Gson 从 java.util.List 恢复 JSON 数组

转载 作者:行者123 更新时间:2023-12-01 11:22:17 25 4
gpt4 key购买 nike

我正在尝试从 POJO 中的列表恢复 JSON 数组。

JSON 字符串

{
"project": {
"name": "Untitled Project",
"created_at": "2014-11-23T01:01:59Z",
"builds": [
{
"automation_build": {
"name": "JUnit Sample",
"automation_project_id": 16214,
"created_at": "2015-03-02T20:14:21Z",
"id": 2049424,
"group_id": 764496,
"status": "done",
"tags": null,
"delta": false,
"duration": 5200640,
"hashed_id": "5bf65fe493fa859d141ed9e707b4fa435461146b",
"user_id": 783527,
"updated_at": "2015-05-02T00:51:41Z"
}
},
{
"automation_build": {
"name": "Untitled Build",
"automation_project_id": 16214,
"created_at": "2015-06-09T11:45:47Z",
"id": 2682799,
"group_id": 764496,
"status": "running",
"tags": null,
"delta": false,
"duration": null,
"hashed_id": "5747e47778fff269508d36c98beaff0b8f2f5722",
"user_id": 783527,
"updated_at": "2015-06-09T11:45:48Z"
}
}
],
"id": 16214,
"group_id": 764496,
"user_id": null,
"updated_at": "2015-06-16T19:39:42Z"
}
}

与 GSON 一起使用的 ProjectPOJO 类

public class ProjectPOJO {

private Project project = new Project();

public Project getProject() {
return project;
}

public void setProject(Project project) {
this.project = project;
}

@Override
public String toString()
{
return "ClassPojo [project = " + project + "]";
}

}

POJO 项目

public class Project {

private Integer id;
private List<Build> builds = new ArrayList<Build>();
private Integer group_id;
private String created_at;
private Object user_id;
private String name;
private String updated_at;

public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public List<Build> getBuilds() {
return builds;
}
public void setBuilds(List<Build> builds) {
this.builds = builds;
}
public Integer getGroup_id() {
return group_id;
}
public void setGroup_id(Integer group_id) {
this.group_id = group_id;
}
public String getCreated_at() {
return created_at;
}
public void setCreated_at(String created_at) {
this.created_at = created_at;
}
public Object getUser_id() {
return user_id;
}
public void setUser_id(Object user_id) {
this.user_id = user_id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUpdated_at() {
return updated_at;
}
public void setUpdated_at(String updated_at) {
this.updated_at = updated_at;
}

@Override
public String toString() {
return "Project [id=" + id + ", builds=" + builds + ", group_id="
+ group_id + ", created_at=" + created_at + ", user_id="
+ user_id + ", name=" + name + ", updated_at=" + updated_at
+ ", getId()=" + getId() + ", getBuilds()=" + getBuilds()
+ ", getGroup_id()=" + getGroup_id() + ", getCreated_at()="
+ getCreated_at() + ", getUser_id()=" + getUser_id()
+ ", getName()=" + getName() + ", getUpdated_at()="
+ getUpdated_at() + ", getClass()=" + getClass()
+ ", hashCode()=" + hashCode() + ", toString()="
+ super.toString() + "]";
}

}

构建 POJO

public class Build {

private AutomationBuild automationBuild = new AutomationBuild();

public AutomationBuild getAutomationBuild() {
return automationBuild;
}

public void setAutomationBuild(AutomationBuild automationBuild) {
this.automationBuild = automationBuild;
}

@Override
public String toString()
{
return "ClassPojo [automation_build = " + automationBuild + "]";
}

}

自动化构建 POJO

package br.usp.icmc.beans;

public class AutomationBuild extends BaseAutomationBuild {

private Integer id;
private Integer group_id;
private Object tags;
private Integer automation_project_id;
private String created_at;
private Integer user_id;
private Boolean delta;
private String updated_at;

public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getGroup_id() {
return group_id;
}
public void setGroup_id(Integer group_id) {
this.group_id = group_id;
}
public Object getTags() {
return tags;
}
public void setTags(Object tags) {
this.tags = tags;
}
public Integer getAutomation_project_id() {
return automation_project_id;
}
public void setAutomation_project_id(Integer automation_project_id) {
this.automation_project_id = automation_project_id;
}
public String getCreated_at() {
return created_at;
}
public void setCreated_at(String created_at) {
this.created_at = created_at;
}
public Integer getUser_id() {
return user_id;
}
public void setUser_id(Integer user_id) {
this.user_id = user_id;
}
public Boolean getDelta() {
return delta;
}
public void setDelta(Boolean delta) {
this.delta = delta;
}
public String getUpdated_at() {
return updated_at;
}
public void setUpdated_at(String updated_at) {
this.updated_at = updated_at;
}
@Override
public String toString() {
return "AutomationBuild [id=" + id + ", group_id=" + group_id
+ ", tags=" + tags + ", automation_project_id="
+ automation_project_id + ", created_at=" + created_at
+ ", user_id=" + user_id + ", delta=" + delta + ", updated_at="
+ updated_at + ", getId()=" + getId() + ", getGroup_id()="
+ getGroup_id() + ", getTags()=" + getTags()
+ ", getAutomation_project_id()=" + getAutomation_project_id()
+ ", getCreated_at()=" + getCreated_at() + ", getUser_id()="
+ getUser_id() + ", getDelta()=" + getDelta()
+ ", getUpdated_at()=" + getUpdated_at() + ", getName()="
+ getName() + ", getDuration()=" + getDuration()
+ ", getStatus()=" + getStatus() + ", getHashed_id()="
+ getHashed_id() + ", toString()=" + super.toString()
+ ", getClass()=" + getClass() + ", hashCode()=" + hashCode()
+ "]";
}

}

我正在使用的代码

System.out.println(obj.getProject().getBuilds().get(0).getAutomationBuild().getHashed_id());

我测试过:

System.out.println(obj.getProject()); 
System.out.println(obj.getProject().getBuilds());
System.out.println(obj.getProject().getBuilds().get(0));
System.out.println(obj.getProject().getBuilds().get(0).getAutomationBuild());

结果:

Project [id=16214, builds=[ClassPojo [automation_build = AutomationBuild [id=null, group_id=null, tags=null, automation_project_id=null, created_at=null, user_id=null, delta=null, updated_at=null, getId()=null, getGroup_id()=null, getTags()=null, getAutomation_project_id()=null, getCreated_at()=null, getUser_id()=null, getDelta()=null, getUpdated_at()=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, toString()=AbstractBuildAutomation [name=null, duration=null, status=null, hashed_id=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=762476028, toString()=br.usp.icmc.beans.AutomationBuild@2d7275fc], getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=762476028]], ClassPojo [automation_build = AutomationBuild [id=null, group_id=null, tags=null, automation_project_id=null, created_at=null, user_id=null, delta=null, updated_at=null, getId()=null, getGroup_id()=null, getTags()=null, getAutomation_project_id()=null, getCreated_at()=null, getUser_id()=null, getDelta()=null, getUpdated_at()=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, toString()=AbstractBuildAutomation [name=null, duration=null, status=null, hashed_id=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=966739377, toString()=br.usp.icmc.beans.AutomationBuild@399f45b1], getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=966739377]]], group_id=764496, created_at=2014-11-23T01:01:59Z, user_id=null, name=Untitled Project, updated_at=2015-06-16T19:39:42Z, getId()=16214, getBuilds()=[ClassPojo [automation_build = AutomationBuild [id=null, group_id=null, tags=null, automation_project_id=null, created_at=null, user_id=null, delta=null, updated_at=null, getId()=null, getGroup_id()=null, getTags()=null, getAutomation_project_id()=null, getCreated_at()=null, getUser_id()=null, getDelta()=null, getUpdated_at()=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, toString()=AbstractBuildAutomation [name=null, duration=null, status=null, hashed_id=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=762476028, toString()=br.usp.icmc.beans.AutomationBuild@2d7275fc], getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=762476028]], ClassPojo [automation_build = AutomationBuild [id=null, group_id=null, tags=null, automation_project_id=null, created_at=null, user_id=null, delta=null, updated_at=null, getId()=null, getGroup_id()=null, getTags()=null, getAutomation_project_id()=null, getCreated_at()=null, getUser_id()=null, getDelta()=null, getUpdated_at()=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, toString()=AbstractBuildAutomation [name=null, duration=null, status=null, hashed_id=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=966739377, toString()=br.usp.icmc.beans.AutomationBuild@399f45b1], getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=966739377]]], getGroup_id()=764496, getCreated_at()=2014-11-23T01:01:59Z, getUser_id()=null, getName()=Untitled Project, getUpdated_at()=2015-06-16T19:39:42Z, getClass()=class br.usp.icmc.beans.Project, hashCode()=952562199, toString()=br.usp.icmc.beans.Project@38c6f217]
[ClassPojo [automation_build = AutomationBuild [id=null, group_id=null, tags=null, automation_project_id=null, created_at=null, user_id=null, delta=null, updated_at=null, getId()=null, getGroup_id()=null, getTags()=null, getAutomation_project_id()=null, getCreated_at()=null, getUser_id()=null, getDelta()=null, getUpdated_at()=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, toString()=AbstractBuildAutomation [name=null, duration=null, status=null, hashed_id=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=762476028, toString()=br.usp.icmc.beans.AutomationBuild@2d7275fc], getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=762476028]], ClassPojo [automation_build = AutomationBuild [id=null, group_id=null, tags=null, automation_project_id=null, created_at=null, user_id=null, delta=null, updated_at=null, getId()=null, getGroup_id()=null, getTags()=null, getAutomation_project_id()=null, getCreated_at()=null, getUser_id()=null, getDelta()=null, getUpdated_at()=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, toString()=AbstractBuildAutomation [name=null, duration=null, status=null, hashed_id=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=966739377, toString()=br.usp.icmc.beans.AutomationBuild@399f45b1], getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=966739377]]]
ClassPojo [automation_build = AutomationBuild [id=null, group_id=null, tags=null, automation_project_id=null, created_at=null, user_id=null, delta=null, updated_at=null, getId()=null, getGroup_id()=null, getTags()=null, getAutomation_project_id()=null, getCreated_at()=null, getUser_id()=null, getDelta()=null, getUpdated_at()=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, toString()=AbstractBuildAutomation [name=null, duration=null, status=null, hashed_id=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=762476028, toString()=br.usp.icmc.beans.AutomationBuild@2d7275fc], getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=762476028]]
AutomationBuild [id=null, group_id=null, tags=null, automation_project_id=null, created_at=null, user_id=null, delta=null, updated_at=null, getId()=null, getGroup_id()=null, getTags()=null, getAutomation_project_id()=null, getCreated_at()=null, getUser_id()=null, getDelta()=null, getUpdated_at()=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, toString()=AbstractBuildAutomation [name=null, duration=null, status=null, hashed_id=null, getName()=null, getDuration()=null, getStatus()=null, getHashed_id()=null, getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=762476028, toString()=br.usp.icmc.beans.AutomationBuild@2d7275fc], getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=762476028]

为什么我收到空值?我哪里错了?

最佳答案

在构建类中

public class Build {

private AutomationBuild automationBuild = new AutomationBuild();

automationBuild应该是automation_build。它应该像

public class Build {

private AutomationBuild automation_build= new AutomationBuild();

Json 看起来像

  "automation_build": {

关于java - 使用 Gson 从 java.util.List 恢复 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31082132/

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