Десериализовать JSON в пользовательский объект, заключенный в необязательныйJAVA

Программисты JAVA общаются здесь
Anonymous
Десериализовать JSON в пользовательский объект, заключенный в необязательный

Сообщение Anonymous »


У меня как таковых 2 класса

Родительский класс { частный окончательный необязательный дочерний элемент; @JsonCreator Parent(@JsonProperty("child") Необязательный дочерний) { this.child = ребенок; } } класс Ребенок { частное окончательное необязательное имя ; @JsonCreator Child(@JsonProperty("name")Optional name){ это.имя = имя; } } Json, который я собираюсь десериализовать в родительский класс, выглядит следующим образом:

{ "ребенок" : { "имя": "abc" } } Для десериализации я использую ObjectMapper:

Сопоставитель ObjectMapper = новый ObjectMapper() .registerModule(новый Jdk8Module()); Однако во время выполнения возникает следующее исключение:

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: невозможно создать экземпляр `java.util.Optional` (не существует создателей, таких как конструктор по умолчанию): невозможно десериализовать из значения объекта Многие ответы в стеке предлагают использовать registerModule, подобный этому. Я что-то упускаю при использовании RegisterModule?

Вернуться в «JAVA»