Как сопоставить одно свойство JSON нескольким объектам, используя Джексона? - PullRequest
0 голосов
/ 18 апреля 2019

1001 * JSON *

"user_number": 897798

Entity.java

@JsonProperty("user_number")
private String entityNumber;

@JsonProperty("user_number")
private Integer userNumber;

Как мне сопоставить одно свойство userNumber в json для обоих вышеупомянутых объектов? т.е. userNumber и entityNumber должны иметь одно и то же значение

Ответы [ 2 ]

1 голос
/ 18 апреля 2019

Вы должны аннотировать оба с @JsonProperty("userNumber"). Таким образом, оба поля отображаются в одно и то же поле в json.

0 голосов
/ 18 апреля 2019

Вы можете вызвать сеттер entityNumber из userNumber сеттера.

public static class Entity {

    private Integer entityNumber;

    @JsonProperty("user_number")
    private Integer userNumber;

    public Integer getEntityNumber() {
        return entityNumber;
    }
    public void setEntityNumber(Integer entityNumber) {
        this.entityNumber = entityNumber;
    }
    public Integer getUserNumber() {
        return userNumber;
    }
    public void setUserNumber(Integer userNumber) {
        this.userNumber = userNumber;
        setEntityNumber(userNumber);
    }
}

Теперь, когда будет вызываться setUserNumber(), он будет также вызывать setEntityNumber().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...