如何使用Jackson将单个JSON属性映射到多个对象?

时间:2019-04-18 13:34:46

标签: java spring jackson

JSON

"user_number": 897798

Entity.java

@JsonProperty("user_number")
private String entityNumber;

@JsonProperty("user_number")
private Integer userNumber;

如何将单个json属性userNumber映射到上述两个对象中? 即userNumber和EntityNumber应该具有相同的值

2 个答案:

答案 0 :(得分:1)

您必须同时用@JsonProperty("userNumber")进行注释。这样,两个字段都被映射到json中的相同字段。

答案 1 :(得分:0)

您可以从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()