Если вы не предоставите целевой класс или TypeReference
Джексон автоматически десериализует объект json в Map<String,Object>
, фактически реализуемый LinkedHashMap<String,Object>
, который сохраняет порядок свойств, найденных в JSON.
На карте будет запись с ключом «list-foo» и значением Map<String,Object>
.
Или вы можете определить специализированные классы для десериализации Джексона.
Джексон десериализуется в классы, которые вы определите, если это возможно.
Если вы предоставите Джексону Class или TypeReference в качестве цели, он попытается создать экземпляр запрошенного класса.
Как правило, вы можете предоставить класс, который соответствует одному из этих критериев
Этот класс является компонентом с общедоступными установщиками, которые следуют соглашениям о присвоении имен.
В классе есть открытые поля-члены, соответствующие именам свойств json.
В классе есть общедоступные методы сеттера с аннотациями Джексона.
Класс реализует интерфейс JsonSerializable и имеет метод сериализации.
Или, если вы создали собственный сериализатор и связали его с классом с помощью аннотаций Джексона.
Любые поля-члены класса также могут быть десериализованы на основе тех же критериев или если они представляют собой примитивные типы, перечисления или коллекции Java, распознаваемые Джексоном.