似乎不支持这个用例:
@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"; “亚型”:“c1”; ... } 到 C1 类和 { "type": "b2"; “亚型”:“c2”; ... } 到 C2 类。 有什么建议吗?
最佳答案
对于那些需要答案的人,OP 得到了答案 here :
This is not supported
关于java - 具有多级多态类型层次结构的 Jackson 反序列化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20742213/