我尝试使用多态反序列化将一些JSON反序列化为Base类的子类。这是我的代码:
@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonSubTypes({ @Type(value = SubClass1.class, name = "SubClass1"), @Type(value =
SubClass2.class, name = "SubClass2") })
public abstract class AbstractClass {
private String commonField1;
private CommonObject commonField2;
private String commonField3;
public class SubClass1 extends AbstractClass {
private List<String> listOfFields;
}
public class SubClass2 extends AbstractClass {
private Map<String, Integer> stringintmap;
}
我的子类JSON示例
失败的反序列化过程
objectmapper.readValue(subclassJson, AbstractClass.class);
抛出JsonMappingException:无法构造BaseClass的实例。