小编phr*_*ous的帖子

反序列化时使用父对象的属性来确定子类?

children: [
      {
          o kind: "t3"
            data: {                 // ExampleNodeT3 class should be used for kind == t3
                + t3var1: "val1"
                + t3var2: true
            }
      }
      {
          o kind: "t4"                
            data: {                 // ExampleNodeT4 class should be used for kind == t4
                + t4var1: false
                + t4var2: 2346
            }
      }
] ... etc.


@JsonTypeInfo(use=Id.NAME, property="kind")
@JsonSubTypes({
@Type(value=ExampleNodeT3.class, name="t3"),
@Type(value=ExampleNodeT4.class, name="t4")})
public abstract class ExampleNode {
...
public void setData(ExampleNode data) {
    this.data = data;
}
Run Code Online (Sandbox Code Playgroud)

当尝试使用 Jackson 反序列化时,在创建 ExampleNode 数据时 …

java polymorphism json jackson

2
推荐指数
1
解决办法
4068
查看次数

标签 统计

jackson ×1

java ×1

json ×1

polymorphism ×1