[英]Jackson deserialize two different Json representations in one POJO
是否可以在同一pojo对象中反序列化两个不同的表示形式,例如,当可以返回可选翻译时。
例如,这是我的pojo:
class LightCustomer {
enum TITLE {
Mr, Mrs, Ms
}
public TITLE title;
public String titleLabel;
}
第一个可用表示形式没有问题:
{
"title": "Mrs"
}
我的第二个翻译代表:
{
"title": {
"value": "Mrs",
"label": "Madame"
}
}
有一种方法可以:
您可以使用@JacksonRootName
作为第二个表示形式。
@JsonRootName(value = "title")
class LightCustomer {
enum TITLE {
Mr, Mrs, Ms
}
public TITLE title;
public String label;
}
使用以下命令配置ObjectMapper实例
mapper.configure(Feature.UNWRAP_ROOT_VALUE, true); //version 1.9
要么
mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true); //version 2
例如,您可以使用其他ObjectMapper实例。 我不完全确定这是否是个好主意。 也许是一种更好的方法:创建自定义的序列化器/反序列化器,以允许通过ObjectMapper的单个实例来处理两种表示形式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.