Polimorfizm w adnotacjach jackson: użycie @JsonTypeInfo
Chciałbym wiedzieć, czy@JsonTypeInfo
adnotacja może być używana dla interfejsów. Mam zestaw klas, które powinny być serializowane i deserializowane.
Oto, co próbuję zrobić. Mam dwie klasy implementacyjneSub1
, Sub2
realizowanieMyInt
. Niektóre klasy modeli mają odniesienie do interfejsu dla typów implementacji. Chciałbym deserializować obiekty na podstawie polimorfizmu
@JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=As.WRAPPER_OBJECT)
@JsonSubTypes({
@Type(name="sub1", value=Sub1.class),
@Type(name="sub2", value=Sub2.class)})
public interface MyInt{
}
@JsonTypeName("sub1")
public Sub1 implements MyInt{
}
@JsonTypeName("sub2")
public Sub2 implements MyInt{
}
Dostaję następująceJsonMappingException
:
Nieoczekiwany token (END_OBJECT), oczekiwany NAZWA_PLIKU: potrzebujesz łańcucha JSON zawierającego identyfikator typu