Java Jackson数据绑定未序列化集合内的类型元数据

Java Jackson数据绑定未序列化集合内的类型元数据,java,jackson-databind,Java,Jackson Databind,我有一个抽象类Abs,有3个具体的类扩展它 @JsonIgnoreProperties(ignoreUnknown = true) @JsonTypeInfo(use = Id.NAME) @JsonSubTypes({@JsonSubTypes.Type(value = First.class, name = FIRST), @JsonSubTypes.Type(value = Second.class,

我有一个抽象类Abs,有3个具体的类扩展它

@JsonIgnoreProperties(ignoreUnknown = true)
@JsonTypeInfo(use = Id.NAME)
@JsonSubTypes({@JsonSubTypes.Type(value = First.class,
                              name = FIRST),
           @JsonSubTypes.Type(value = Second.class,
                              name = SECOND),
           @JsonSubTypes.Type(value = Third.class,
                              name = THIRD)})
public abstract class Abst {
    public static final String FIRST = "first";
    public static final String SECOND = "second";
    public static final String THIRD = "third";
当我序列化First.class、Second.class或Third.class类型的实例时,元数据“@type”被正确序列化为
@type:“First”
@type:“Second”
等。但是,当我有
列表时,元数据不会被序列化


我发现当jackson单独序列化类时,它使用的是
TypeWappedSerializer
,而当它序列化列表时,它使用
IndexListSerializer
,单个元素由
BeanSerializer
而不是
TypeWappedSerializer
序列化。上面是否有其他注释或我缺少的内容?

我不知道为什么会发生这种情况,但我通过创建一个自定义序列化程序来解决它,该序列化程序将在序列化过程中添加元数据。一切按原样进行