我正在开发客户端库和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包装器。