Десериализовать 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?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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