Мне нужно знать, могу ли я десериализовать универсальный объект в определяющий его тип, не имея дополнительного свойства или не упомянув тип в аннотации.
Пример: -
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY, property="@class")
Выше я должен упомянуть свойство @class
, а другой способ -
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY)
@JsonSubTypes({
@JsonSubTypes.Type(value = Dog.class, name = "Dog"),
@JsonSubTypes.Type(value = Cat.class, name = "Cat")
})
в приведенном выше примере мы определяем подклассы и пользовательский тип.
Использование обычного десериализатора StdDeserializer<T>
Есть ли другой способ сделать это, пожалуйста, скажите мне.