简体   繁体   English

Jackson API-使用简单的动态对象反序列化JSON

[英]Jackson API - deserialize JSON with simple dynamic object

i'm trying to deserialize json with a simple dynamic variable: on the nested "Lottery", the last one sometimes did not come, sometimes is empty: 我试图用一个简单的动态变量反序列化json:在嵌套的“彩票”上,最后一个有时没有来,有时是空的:

    {
    "name": "Michael ",
    "surname":"Rodriguez",
    "Lottery": {
        "number 1": "855-333-4432",
        "number 2": "815-355-1111",
        "number 3": "208-222-322"
    }
},
{
    "name": "Captain ",
    "surname":"America",
    "Lottery": {
        "number 1": "444-333-888",
        "number 2": "222-333-444",
    }
},
{
    "name": "Pet ",
    "surname":"Sounds",
    "Lottery": {
        "number 1": "815-833-8888",
        "number 2": "834-343-1343",
        "number 3": ""
    }
}

So i'm creating a model class like this: 所以我正在创建一个这样的模型类:

public class Person {
    private String name;
    private String surname;
    private Lottery Lottery;


    public String getName() {
        return name;
    }

    public String getSurname() {
        return surname;
    }

    public Lottery getLottery() {
        return Lottery;
    }

    public void setName(String sName) { 
        name = sName;
    }

    public void setSurame(String sSurname) { 
        surname = sSurname;
    }

    public void setLottery(Lottery sLottery) {
        Lottery = sLottery;
    }
}

public class Lottery {
    private String number 1;
    private String number 2;
    private String number 3;

    public String getnumber 1() {
        return number 1;
    }

    public String getnumber 2() {
        return number 2;
    }

    public String getnumber 3() {
        return number 3;
    }

    public void setnumber 1(String snumber 1) { 
        number 1 = snumber 1;
    }

    public void setnumber 2(String snumber 2) { 
        number 2 = snumber 2;
    }

    public void setnumber 3(String snumber 3) { 
        number 3 = snumber 3;
    }
}

Am i doing it right, or i'll have issues with the missing variable? 我做对了吗,否则变量缺失会遇到问题?

Thanks in advance!!!! 提前致谢!!!!

You don't need to add the @JsonProperty to every field if you use the same name as the field since is done by default. 如果您使用与字段相同的名称,则无需将@JsonProperty添加到每个字段,因为默认情况下已完成。 Jackson can handle empty values without problem. 杰克逊可以毫无问题地处理空值。

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

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