-5
我有一個基類A和2個子類B和C,它們擴展了A.A是一個抽象類。而A是另一類中的字段類似於:使用Jackson進行反序列化時獲取NPE讀取空對象字段
@JsonTypeInfo({
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property= "type"
})
@JsonSubTypes({
@JsonSubTypes.Type(value = B.class, name = "b"),
@JsonSubTypes.Type(value = C.class, name = "c")
})
public abstract class A {
}
public class B extends A {
@JsonCreator
...
}
public class C extends A {
@JsonCreator
...
}
public class MyClass {
private A a;
}
我想序列化和反序列化MyClass。雖然MyClass中的字段A可能爲空,並且我不想在序列化期間略過A,即使它爲空也是如此。然後,當我嘗試反序列化JSON字符串時,我得到了NPE。我認爲這是因爲Json字符串沒有用於映射器的「類型」來查找子類型。有沒有辦法解決這個問題?