Jackson多态性问题,无法反序列化基类

时间:2015-07-16 11:07:34

标签: java json jackson

我尝试使用多态反序列化将一些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的实例。

0 个答案:

没有答案