使用现有属性进行多对一的Jackson序列化/反序列化多态

时间:2019-12-25 14:15:59

标签: jackson polymorphism jackson-databind

我有一个XDevice类,它是Device类的子类。 我对这两个类都有JsonTypeName批注,我可以使用Device类中的现有属性“ type”对它们进行序列化/反序列化。

下面是该类的注释。

@XmlRootElement
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY,
        property = "type", visible = true)
@JsonSubTypes({
        @JsonSubTypes.Type(value = XDevice.class, name = "XDev"),
})
@JsonTypeName("Dev")
public class Device

子类XDevice仅包含一个注释 @JsonTypeName(“ XDev”)。 类型字段是一个枚举,它支持许多其他类型值以供将来使用。 现在,存在一个新的类型值“ Dev1”,它也需要序列化/反序列化到Device对象。 我不确定该怎么做,因为此类型值不是子类,并且我在Device类上已经有一个JsonTypeName注释。 任何帮助将不胜感激。

0 个答案:

没有答案