java - read - objectmapper用法



是否有可能序列化/反序列化JSON到Java DTO與額外的領域進入地圖? (1)

我有一個這樣的DTO:

public Foo {
    public int bar = 123;
    public Map<String, Object> params; // key1=v1, key2=v2 etc.
}

我想它序列化到/從以下JSON:

{
    "bar": 123,
    "key1": "v1",
    "key2": "v2"
} 

有誰知道如何使用傑克遜或Genson做到這一點? 基本上我想要在DTO中聲明的字段的自動類型轉換,但是任何“額外”都要進入params映射。


感謝@fge讓我走上正軌。 傑克遜有@JsonAnySetter和@JsonAnyGetter註釋可以用來做到這一點:

public Foo {
    public int bar;
    private transient Map<String, Object> params = new HashMap<String, Object>();

    @JsonAnySetter
    public void set(String k, Object v) { params.put(k, v); }

    @JsonAnyGetter
    public Map getParams() { return params; }
}




genson