看起来这个使用案例是不被支持的:
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
@JsonSubTypes({
@JsonSubTypes.Type(value=B1.class, name="b1"),
@JsonSubTypes.Type(value=B2.class, name="b2")
})
public abstract class A {
...
}
public class B1 extends A {
...
}
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "subtype")
@JsonSubTypes({
@JsonSubTypes.Type(value=C1.class, name="c1"),
@JsonSubTypes.Type(value=C2.class, name="c2")
})
public abstract class B2 extends A {
...
}
public class C1 extends B2 {
...
}
public class C2 extends B2 {
...
}
我希望能将这个进行解析: { "type": "b1"; ... } 转换成 B1 类,{ "type": "b2"; "subtype": "c1"; ... } 转换成 C1 类,{ "type": "b2"; "subtype": "c2"; ... } 转换成 C2 类。您有任何建议吗?