当有多个节点与JsonRootName中提供的值处于同一级别时,反序列化将不起作用
注意: 包装器的配置如下:
objectMapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);
班级:
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonRootName(value = "response")
public class UserProfile {
String name;
String link;
}
输入JSON(有效):
{
"response": {
"name": "User one:",
"link": "Some Link"
}
}
输入JSON(无效)
{
"response": {
"name": "User one:",
"link": "Some Link"
},
"apiVersion" : 1.0
}
为字段response
和apiVersion
添加包装器将解决此问题,这将使使用标签JsonRootName
的目的无法实现
如果在根级别有多个字段(不使用另一个包装类),如何反序列化?