我的班级看起来像:
Class A{
private String amount;
@JsonIgnore
private Map<String,String> unknownFields = new HashMap<>();
}
我的ObjectMapper
已配置DeserializationFeature.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);
}
答案 0 :(得分:4)
您可以使用@JsonAnySetter(@JsonAnyGetter)在您的Domain-Class中注释一个Method并处理它。这里有一个很好的例子: http://www.jasonwhaley.com/handling-top-level-metadata-with-jackson/。让你的DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES = false。