Java 使用Jackson收集未知属性
我使用Jackson从JSON创建Java对象。假设我有一个JSON字符串,如下所示:Java 使用Jackson收集未知属性,java,jackson,Java,Jackson,我使用Jackson从JSON创建Java对象。假设我有一个JSON字符串,如下所示: {"a":"a", "b":"b", "c":"c"} @JsonIgnoreProperties(ignoreUnknown = true) public class A { private String a; private String b; // ... } 还有像这样的pojo: {"a":"a", "b":"b", "c":"c"} @JsonIgnoreProp
{"a":"a", "b":"b", "c":"c"}
@JsonIgnoreProperties(ignoreUnknown = true)
public class A {
private String a;
private String b;
// ...
}
还有像这样的pojo:
{"a":"a", "b":"b", "c":"c"}
@JsonIgnoreProperties(ignoreUnknown = true)
public class A {
private String a;
private String b;
// ...
}
所以c显然是一个未知的属性——它将被忽略。我想知道,有没有什么方法可以记录c是未知的和被忽略的?我不知道有什么内置工具可以做到这一点。您可以使用
@JsonAnySetter
可用于定义非静态的标记注释,
双参数方法(属性的第一个参数名称,属性的第二个值
设置),用作所有其他情况下的“回退”处理程序
从JSON内容中找到无法识别的属性
像这样使用它
@JsonAnySetter
public void ignored(String name, Object value) {
// can ignore the 'value' if you only care for the name (though you still need the second parameter)
System.out.println(name + " : " + value);
}
在您反序列化到的类中,例如您的A
类