emboole
emboole

Reputation: 561

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!!!!

Upvotes: 0

Views: 256

Answers (1)

Franjavi
Franjavi

Reputation: 657

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.

Upvotes: 1

Related Questions