1

次のようなコードがあります。

    @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true, defaultImpl = Default.class)
@JsonSubTypes({ 
    @Type(value = T1.class, name = "t1"), 
    @Type(value = T2.class, name = "t2"),}
) 
public abstract class T{
}

他のクラスは次のように予約することができます

class Foo{
T t;
T anotherT;
}

typeただし、不明な場合は Default のインスタンスを返します。defaultImp を指定しなかった場合、jackson は単に例外をスローします。

 Could not resolve type id 't3' into a subtype of T

私はDeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIESすでにfalseに設定しています。

必要なのは、型が 't1' または 't2' でない場合、値を null に設定して解析を続行することです。どうすればいいですか?

ありがとう

4

0 に答える 0