我使用Jackson从JSON创建Java对象。假设我有一个如下所示的JSON字符串:
{"a":"a", "b":"b", "c":"c"}
还有一个像这样的pojo:
@JsonIgnoreProperties(ignoreUnknown = true)
public class A {
private String a;
private String b;
// ...
}
所以c显然是一个未知的属性--它将被遗漏。我想知道,有没有什么办法我可以记录c是未知的,被忽略了?
2条答案
按热度按时间lyr7nygr1#
我不知道有什么内置的工具可以做到这一点。
标记注解,可用于定义非静态的双参数方法(属性的第一个参数名称,要设置的第二个值),该方法将用作从JSON内容中找到的所有无法识别的属性的“回退”处理程序。
使用它就像
在您要还原序列化的目的类别中,例如您的
A
类别。cx6n0qe32#
@JsonAnySetter
用于Map字段时,将捕获所有未Map的属性。与@JsonAnyGetter
成对使用时,将用于序列化和反序列化: