2015-06-26 2 views
0

Я пытаюсь восстановить массив JSON из списка в POJO.Восстановить массив JSON от java.util.List с Gson

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" 
    } 
} 

Класс ProjectPOJO используется с GSON

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 + "]"; 
    } 

} 

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 + "]"; 
    } 

} 

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()[email protected]], 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()[email protected]], 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()[email protected]], 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()[email protected]], 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()[email protected]] 
[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()[email protected]], 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()[email protected]], 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()[email protected]], 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()[email protected]], getClass()=class br.usp.icmc.beans.AutomationBuild, hashCode()=762476028] 

Почему я получаю ноль? Где я ошибаюсь?

+0

Попробуйте напечатать один за другим, как система .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()); – Madhan

+1

проверить ответ Я отправил – Madhan

ответ

1

В классе сборки

public class Build { 

private AutomationBuild automationBuild = new AutomationBuild(); 

automationBuild должен быть automation_build .Это должно быть как

public class Build { 

private AutomationBuild automation_build= new AutomationBuild(); 

как Json выглядит

"automation_build": { 
+0

Большое спасибо за помощь Мадхан, теперь все работает! – ricardoramos

Смежные вопросы