[英]Java Jackson org.codehaus.jackson.map.exc.UnrecognizedPropertyException
I am binding a JSON response to my class using Jackson.我正在使用 Jackson 将 JSON 响应绑定到我的 class。 Everything works great except when there are more fields in my JSON response than my class defines.一切都很好,除非我的 JSON 响应中的字段多于我的 class 定义的字段。 I want Jackson to ignore the fields that do not exist in my JSON response.我希望 Jackson 忽略我的 JSON 响应中不存在的字段。 This is due to compatability for future versions.这是由于未来版本的兼容性。 If I add a new field I do not want previous versions of my client to crash.如果我添加一个新字段,我不希望以前版本的客户端崩溃。
Ideas?想法?
ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
PromoResponse promoResponse = mapper.readValue(r, PromoResponse.class);
You can put the @JsonIgnoreProperties(ignoreUnknown=true)
annotation on your PromoResponse class.您可以将@JsonIgnoreProperties(ignoreUnknown=true)
注释放在 PromoResponse class 上。
I believe you would want to do something like this after you declare your mapper object:我相信你在声明你的映射器 object 之后会想做这样的事情:
mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-Dan -担
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.