小编Tar*_*iak的帖子

Jackson 使用 @JsonAnyGetter 序列化重复字段

我的 DTO 类具有预定义的字段和未映射的映射。当 otherFields 映射包含具有相同名称的字段(field1 键)时,jackson 序列化它们并且我有无效的 json,例如

{
"field1": "value",
"field1": "otherValue"
}
Run Code Online (Sandbox Code Playgroud)
public class DTO implements Serializable {

    private String field1;

    @JsonIgnore
    @JsonAnySetter
    private final Map<String, Object> otherFields = new LinkedHashMap<>();

    @JsonAnyGetter
    public Map<String, Object> getOtherFields() {
        return otherFields;
    }

    public String getField1() {
        return field1;
    }

    public void setField1(String field1) {
        this.field1 = field1;
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下有没有办法只选择一个值?对于我的情况,地图中的一个应该优先。

java spring jackson jackson-databind

5
推荐指数
0
解决办法
139
查看次数

标签 统计

jackson ×1

jackson-databind ×1

java ×1

spring ×1