Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Jackson收集未知属性_Java_Jackson - Fatal编程技术网

Java 使用Jackson收集未知属性

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

我使用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"}
@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