将 UnknownFields 保存到地图,同时使用 Jackson 反序列化 Json



我的类看起来像:

Class A{
    private String amount;
    @JsonIgnore
    private Map<String,String> unknownFields = new HashMap<>();
}

我的ObjectMapperDeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES = false配置。

Json input:
{
   "amount": 5000,
   "note" : "Amount is 5000"
}

在这种情况下,我需要注释位于unknownFields地图中:

我正在寻找一些注释,例如

@OnUnknownProperties
public void OnUnknownProperties(String name, String value){
    unknownFields.put(name,value);
}
您可以使用

@JsonAnySetter(@JsonAnyGetter)在域类中注释方法并对其进行处理。一个很好的例子在这里:http://www.jasonwhaley.com/handling-top-level-metadata-with-jackson/.让你的DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES=假。

最新更新