У меня есть следующие структуры объекта:Как использовать Джексон с Дженерики
public class Animal<T> implements IMakeSound<T>
public class Dog<T> extends Animal<T>
public class Cat<T> extends Animal<T>
Я хочу сериализации и де-сериализации моего объекта с помощью Джексоном.
Проблема в том, что в Json я получаю LinkedHashmap в T, а de-sirializtion - к базовому объекту Animal.
Когда я добавляю ограничение на Т т.е. чем она прекрасно работает из-за аннотации Джексона
@JsonSubTypes({
@Type(value = PuffyTail.class, name = "puffyTail"),
@Type(value = StraightTail.class, name = "straightTail") })
class Tail {
...
Но это не поведение, что я хотел - я не использую < X расширяет Y>.
Есть ли способ работать с java-генериками и получить нужный объект, который был сериализован?
Есть ли способ сделать это без аннотаций?
Поскольку дженерики компиляции типа время стерло вам необходимо предоставить намеки Джексона о том, как создать родовые типы. –