杰克逊反序列化:未被认可的领域 [英] Jackson Deserialization: unrecognized field
本文介绍了杰克逊反序列化:未被认可的领域的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
从教程中我得知这应该有用(简化示例):
From the tutorial I had the impression that this should work (simplified example):
public class Foo {
private String bar;
public String getBar() {
return bar;
}
public void setBar(String bar) {
this.bar = bar;
}
public static class Qux {
private String foobar;
public String getFoobar() {
return foobar;
}
public void setFoobar(String foobar) {
this.foobar = foobar;
}
}
}
...
String in = "{ \"bar\": \"123\", \"qux\" : {\"foobar\": \"234\"}}";
ObjectMapper mapper = new ObjectMapper();
Foo obj = mapper.readValue(in, Foo.class);
然而,我收到错误
UnrecognizedPropertyException: Unrecognized field "qux" (Class Foo), not marked as ignorable
我正在运行2.2.2
I'm running 2.2.2
推荐答案
如果你拉 Qux它会工作
课程 Foo
public class Foo {
private String bar;
// added this
private Qux qux;
public String getBar() {
return bar;
}
public void setBar(String bar) {
this.bar = bar;
}
// added getter and setter
public Qux getQux() {
return qux;
}
public void setQux(Qux qux) {
this.qux = bar;
}
}
public static class Qux {
private String foobar;
public String getFoobar() {
return foobar;
}
public void setFoobar(String foobar) {
this.foobar = foobar;
}
}
这篇关于杰克逊反序列化:未被认可的领域的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文