java如何使用Jackson将JSON属性按前缀映射/分组到对象列表?
我有以下回应:
{
"part1.id": "1",
"part1.name": "Name1",
"part2.id": "2",
"part2.name": "Name2"
}
1个用户的POJO/DTO类:
public class User {
private String id;
private String name;
// set/get
}
整个回答的类别:
public class UsersResponse {
private List<User> users;
// set/get
}
我可以在Map中检索值,然后在代码中手动解析/Map,如 Jackson JSON map key as property of contained object
还有@JsonAlias用于多个命名变体,但它映射到一个对象
是否有其他方法可以将提供的前缀的JSON值映射/分组到列表中
# 1 楼答案
没有已经实现的注释允许通过配置来实现。您需要实现反序列化程序。反序列化程序的简单版本如下所示:
我做了一点改动
UsersResponse
,如下所示:用法示例:
给定
JSON
的Abobe应用程序:印刷品:
在反序列化程序中,我使用了}和
Map<Integer, Map<String, String>>
,因为我不想使用匹配的POJO
{JSON
键