我正在使用Jackson作为将输入JSON反序列化为Java POJO的工具。但是,我需要将列表值反序列化到包装类的字段中。这是示例代码:
class Hello {
private ListWrapper list;
}
class ListWrapper {
private List<Item> unnamed;
}
class Item {
// some fields
}
如果用户输入如下,我希望将其反序列化为带有“列表”字段的Hello实例,该实例包含一个ListWrapper实例,该实例的“未命名”字段中包含这些项目。
{
"list": [
{
// item1
}
{
// item2
}
]
}
请注意,我不想自定义@JsonDeserialize使用的反序列化器,因为我希望Jackson为我对Item进行映射验证。
有可能吗?又如何?
谢谢。
答案 0 :(得分:1)
您可以使用以下Jackson注释来完成此操作:
class Hello {
@JsonUnwrapped
private ListWrapper list;
}
class ListWrapper {
@JsonProperty("list")
private List<Item> unnamed;
}