【发布时间】:2019-06-19 14:30:57
【问题描述】:
我正在尝试将某些 json 字段映射到类实例变量。
我的示例 Person 类如下所示:
public class Person {
private String name;
private Address address;
//many more fields
//getters and setters
}
示例 Address 类是:
public class Address {
private String street;
private String city;
//many more fields
// getters and setters
}
要反序列化为我的 Person 类的 json 对象不包含“地址”字段。它看起来像:
{
"name":"Alexander",
"street":"abc 12",
"city":"London"
}
有没有办法将json反序列化为地址字段也正确映射的Person pojo?
我使用了一个自定义地址反序列化器,正如这里很多帖子中提到的那样。但是,它没有被调用,因为 Json 对象不包含“地址”字段。
我已经通过使用 JsonNode 手动映射每个字段来解决这个问题,但是在我的实际项目中,这不是一个好的解决方案。
有没有使用杰克逊解决此类问题的方法? 另外,如果之前有人问过这个问题,那么代表我道歉,因为我已经深入寻找解决方案并且可能还没有看到它。 .
【问题讨论】:
-
你可以创建这个不包含地址的超类并使用转换器。避免手动锻炼。
-
是作业还是什么?有一个几乎相同的问题,asked just a few hours ago
标签: java json spring jackson jackson2