我正在尝试使用Jackson自动将我的JSON有效负载解析为子类型
一切正常工作,对象被解析为正确的子类型。但是在过程结束时删除了用于区分的属性。
@JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") @JsonSubTypes({ @Type(value = MySubClass.class, name = "type1") })
在这种情况下,MySubClass实例中的属性“type”为null。
我如何告诉杰克逊保持数据不变。
感谢。
答案 0 :(得分:0)
是;默认情况下,类型信息被视为元数据,而不是要向POJO公开的数据;类似于Java类型信息与实际属性的区别(尽管可通过getClass()
访问)。
但是如果你想使用@JsonTypeInfo(visible=true)
,你可以公开类型鉴别器。