我使用Jackson将JSON响应绑定到我的班级。一切都很好,除非我的JSON响应中有更多字段,而不是我的类定义。我希望杰克逊忽略我的JSON响应中不存在的字段。这是由于未来版本的兼容性。如果我添加一个新字段,我不希望以前版本的客户端崩溃。
想法?
ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
PromoResponse promoResponse = mapper.readValue(r, PromoResponse.class);
答案 0 :(得分:9)
您可以将@JsonIgnoreProperties(ignoreUnknown=true)
注释放在PromoResponse类上。
答案 1 :(得分:5)
我相信在声明mapper对象之后你会想要做这样的事情:
mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-Dan