2011-06-09 94 views
3

我绑定了一个JSON响应我的类使用杰克逊。除非我的类定义的JSON响应中有更多的字段,否则一切都很好。我希望杰克逊忽略我的JSON响应中不存在的字段。这是由于未来版本的兼容性。如果我添加一个新字段,我不希望客户端的先前版本崩溃。爪哇杰克逊org.codehaus.jackson.map.exc.UnrecognizedPropertyException

想法?

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

回答

9

你可以把@JsonIgnoreProperties(ignoreUnknown=true)注解。

+0

其工作感谢... – 2013-01-08 13:17:14

5

我相信你宣布你的映射对象后,你会想要做这样的事情:你的PromoResponse类

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

-Dan

+0

在当前版本(2.0.4)中,此配置选项稍有变化: mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false); – Dfr 2012-08-23 07:51:31