反序列化JSON我有類如下不能缺失多態性場
class XYZ {
private String type;
private TypeSpecific typeSpecific;
public TypeSpecific getTypeSpecific() {
return typeSpecific;
}
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.EXTERNAL_PROPERTY,
property = "type"
)
@JsonSubTypes({
@JsonSubTypes.Type(value = ATypeSpecific.class, name = "a")
})
public void setTypeSpecific(TypeSpecific typeSpecific) {
this.typeSpecific = typeSpecific;
}
}
類ATypeSpecific延伸TypeSpecific。
我想反序列化JSON {"type":"b"}
其中typeSpecific將在對象中設置爲null。但我得到以下異常:
com.fasterxml.jackson.databind.JsonMappingException: Missing property 'typeSpecific' for external type id 'type'
如何反序列化上面提到的JSON到對象?
相關版本:
傑克遜註釋:2.7.0, 傑克遜核心:2.7.4, 傑克遜 - 數據綁定:2.7.4
我曾嘗試用最新的補丁,即2.7。 9和最新版本2.8.6。但它不起作用。 請讓我知道這是否可能。提前致謝。
你必須標記字段爲可選 –