简体   繁体   中英

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:

    {
    "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. Jackson can handle empty values without problem.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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