Я хочу преобразовать строку JSON в объект java, но класс этого объекта содержит абстрактные поля, которые Джексон не может создать, и не создает объект. Каков самый простой способ рассказать об определенной по умолчанию реализации абстрактного класса, например
setDefault(AbstractAnimal.class, Cat.class);
или принять решение о классе реализации на основе имени атрибута JSON, например. для объекта JSON:
{
...
cat: {...}
...
}
Я бы просто сказал:
setImpl("cat", Cat.class);
Я знаю, что в Jackson можно встроить информацию о классе внутри JSON, но я не хочу усложнять формат JSON, который я использую. Я хочу решить, какой класс использовать, просто установив класс реализации по умолчанию или имя атрибута ('cat') - как в библиотеке XStream, где вы пишете:
xStream.alias("cat", Cat.class);
Есть ли способ сделать это, особенно в одной строке, или требуется какой-то еще код?