杰克逊反序列化 - 忽略root属性

时间:2018-05-13 11:35:45

标签: java jackson jackson-databind

我正在开发客户端库和API响应,服务返回看起来像这样:

{ "status": "success", "data": { "currentState": "MY_STATE", "links": [ ... ] } }

我有以下Java Pojo,它应该映射到data属性:

@Value @JsonRootName("data") public class UserStateDto { private UserStateName currentState; private List<Map<String, Object>> links; } 我的对象映射器具有打开根元素的配置:DeserializationFeature.UNWRAP_ROOT_VALUE

但反序列化失败,因为根级别上有status属性未映射,并且我遇到以下异常: com.fasterxml.jackson.databind.JsonMappingException: Root name 'status' does not match expected ('data') for type [simple type, class ....UserStateDto]

是否有可能以某种方式忽略根级属性?基本上我想要实现的是仅反序列化data属性。我想避免在其上引入额外的Java POJO包装器。

0 个答案:

没有答案