简体   繁体   English

使用Gson Java解析复杂Json-仅节点

[英]Parsing Complex Json with Gson Java - Only nodes

I have this Json structure and I need to get the information for "myId", "name", "adress1" and "city". 我有这个Json结构,我需要获取有关“ myId”,“名称”,“ adress1”和“ city”的信息。

      {
        "InformationResponse":{
        "Id":"122212",
        "customerSessionId":"007",
        "Summary":{
        "myId":1234567,
        "name":"Casino",
        "address1":"13 Street",
        "city":"Las Vegas",
       },
...

I am using Gson (Java). 我正在使用Gson(Java)。 I created 3 Class (InformationResponse, Summary and Main) 我创建了3个类(InformationResponse,Summary和Main)

public class Summary {

    private String myId;
    private String name;
    private String city;

    public String getMyId() {
        return myId;
    }
    public void setMyId(String myId) {
        this.myId= myId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }

    @Override
    public String toString(){
        return getMyId() + ", "+getName()+", "+getCity();
    }
}

MyObject.class MyObject.class

public class MyObject{

    private Summary summary;

    public Summary getSummary() {
        return address;
    }

    @Override
    public String toString(){
        sb.append("Summary="+getSummary()+"\n");
        return sb.toString();
    }
}

In the Main I can see my Json file and I am doing this: 在Main中,我可以看到我的Json文件,而我正在这样做:

// Get Gson object
Gson gson = new GsonBuilder().setPrettyPrinting().create();

// parse json string to object
MyObject myobject1 = gson.fromJson(json, MyObject.class);

But I have null everytime. 但是我每次都是空的。

Thanks for your help! 谢谢你的帮助!

Jean M. 让·M

试试这个@SerializedName(“ Id”)private String myId;

Gson requires a default no args constructor: Gson需要默认的no args构造函数:

https://sites.google.com/site/gson/gson-user-guide#TOC-Object-Examples https://sites.google.com/site/gson/gson-user-guide#TOC-Object-Examples

Try adding a public no-args constructor to both your Summary and MyObject classes. 尝试将公共的无参数构造函数添加到您的Summary和MyObject类。

public Summary() {}
public MyObject() {}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM