Десериализация Джексона: считать определенные строковые значения нулевыми.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Десериализация Джексона: считать определенные строковые значения нулевыми.

Сообщение Anonymous »

Я работаю с внешним API и сгенерировал клиентские классы Java с помощью генератора OpenAPI. Одно из полей, определенных в ответе, помечено как имеющее тип даты, как показано ниже, а эквивалентный код Java представляет собой метод с типом LocalDate. Пока все хорошо.

Код: Выделить всё

"maturity": {
"type": "string",
"description": "Maturity date",
"nullable": true,
"format": "date"
}
К сожалению, их API, похоже, использует строковое значение «Unspecified» для обозначения нуля в некоторых из своих ответов.

Код: Выделить всё

  "name": "abc",
"start": null,
"maturity": "Unspecified",
Это приводит к следующему исключению в Джексоне во время процесса десериализации JSON (который ожидается):

Код: Выделить всё

com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.time.LocalDate` from String "Unspecified": Failed to deserialize java.time.LocalDate: (java.time.format.DateTimeParseException) Text 'Unspecified' could not be parsed at index 0
Хотя я поднял с ними этот вопрос, им может потребоваться некоторое время, чтобы это исправить.
Мой более общий вопрос: есть ли простой способ в Джексоне обрабатывать неверные типы, такие как определенное строковое значение «Unspecified», как нулевое? Один из вариантов — предварительно обработать ответ перед передачей его для десериализации JSON, но мне интересно, есть ли другие идеи получше?

Подробнее здесь: https://stackoverflow.com/questions/787 ... being-null
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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