Java 在';类型';和';价值';是分开的字段

Java 在';类型';和';价值';是分开的字段,java,json,jackson,polymorphism,deserialization,Java,Json,Jackson,Polymorphism,Deserialization,API返回以下JSON: "objectA":{ "type":"typeA", "value":{ "propertyA":{ "propertyAA":"3000", "propertyAB":3 }, "propertyB":10 } } 而“类型”可以是范围广泛的类,“值”字段包含该对象的属性。Jackson是否提供了开箱即用/基于注释的解决方案来解决此问题 在API提供程序上次更新之前,API返回: “objectA:{“类

API返回以下JSON:

"objectA":{
  "type":"typeA",
  "value":{
    "propertyA":{
      "propertyAA":"3000",
      "propertyAB":3
    },
    "propertyB":10
  }
}
而“类型”可以是范围广泛的类,“值”字段包含该对象的属性。Jackson是否提供了开箱即用/基于注释的解决方案来解决此问题

在API提供程序上次更新之前,API返回:

“objectA:{“类型”:“类型A”,“属性YA”:{“属性YAA”:“3000”,“属性YAB”:3},“属性YB”:10}

我可以使用以下方法对其进行分析:

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
@JsonSubTypes({ @Type(value = TypeA.class, name = "typeA"),
[...]
如上所述,我想知道是否有一个Jackson配置允许同时配置包含类型的字段和包含实际对象的字段


非常感谢,并致以最良好的问候

我通过引入一个处理“type”和“value”字段的包装器对象临时解决了这个问题。对于“值”字段,我使用了“外部_属性”方法,如下所示:

有效,但仍然感觉不太干净:(因此,如果有人知道更好的方法,请分享!)