java jackson从映射中获取列表,其中键包含路径(如“child\u 1\u name”)
我们的集成点返回给我们以下结构
{
"veryImportantProperty":"some value",
"child_1_name": "Name1",
"child_1_age": 15,
"child_2_name": "Name2",
"child_2_age": 18
}
我们希望将其解析为以下类:
class Child {
@NotEmpty
private String name;
@NotNull
private Integer age;
}
class Wrapper{
@NotEmpty
private String veryImportantProperty;
@Valid
private List<Child> children;
}
Jackson有什么插件/配置可以帮我做到这一点吗
谢谢
# 1 楼答案
可以通过扩展StdDeserializer来定义自定义
Deserializer
:并用@JsonDeserialize注释
Wrapper
类,以使用自定义反序列化程序然后可以使用
ObjectMapper.readValue
方法在一行中反序列化