Я хотел бы знать, можно ли использовать аннотацию @JsonTypeInfo
для интерфейсов. У меня есть набор классов, которые должны быть сериализованы и десериализованы.
Вот что я пытаюсь сделать. У меня есть два класса реализации Sub1
, Sub2
реализация MyInt
. Некоторые классы моделей имеют ссылку на интерфейс для типов реализации. Я хотел бы десериализовать объекты на основе полиморфизма
@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{
}
Я получаю следующее JsonMappingException
:
Неожиданный токен (END_OBJECT), ожидаемый FIELD_NAME: нужна строка JSON который содержит идентификатор типа