Jackson 反序列化:无法识别的字段

2023-12-06

从教程中我的印象是这应该可行(简化的示例):

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


您可以配置ObjectMapper忽略在你的类中找不到的字段

ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

如果未以这种方式配置,则在解析时如果发现无法识别您指定的类类型的字段,则会抛出异常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jackson 反序列化:无法识别的字段 的相关文章

随机推荐