Java Jackson org.codehaus.jackson.map.exc.UnrecognizedPropertyException

时间:2011-06-09 23:05:47

标签: java android jackson

我使用Jackson将JSON响应绑定到我的班级。一切都很好,除非我的JSON响应中有更多字段,而不是我的类定义。我希望杰克逊忽略我的JSON响应中不存在的字段。这是由于未来版本的兼容性。如果我添加一个新字段,我不希望以前版本的客户端崩溃。

想法?

ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
        PromoResponse promoResponse = mapper.readValue(r, PromoResponse.class);

2 个答案:

答案 0 :(得分:9)

您可以将@JsonIgnoreProperties(ignoreUnknown=true)注释放在PromoResponse类上。

答案 1 :(得分:5)

我相信在声明mapper对象之后你会想要做这样的事情:

mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);

-Dan