Обработка примитивных типов объединения в (де) сериализации JSON с помощью Джексона в Java

Я знаю, что по этой теме уже есть пара вопросов, но мне все еще трудно найти хорошее решение для примитивных типов. Я пытаюсь сериализовать и десериализовать следующие данные JSON:

{ «key»: «key1» «value»: «value1» }

Однако значение является типом объединения и может быть логическим, числом или строкой. Так что это также допустимые входные данные:

{ «key»: «key2» «value»: true }

и

{ «key»: «key3» «value»: 3 }

Как лучше всего сериализовать и десериализовать это в Java POJO? Мой подход выглядит так (но, очевидно, работает только со строковыми значениями)

@RequiredArgsConstructor @Getter @EqualsAndHashCode public class Request { private final String key; private final String value; } @RequiredArgsConstructor @Getter @EqualsAndHashCode public class Response { private final String key; @JsonInclude(JsonInclude.Include.NON_NULL) private final String value; }

Вам нужен DTO, чтобы получить преобразованный объект. Очевидно, String value не может содержать логическое значение. Поэтому сначала вы должны показать нам свой DTO. Может хочешь использовать Object value?   —  person Fynn    schedule 19.08.2020

Где / как мне сохранить информацию о типе во время де (сериализации)? Я как-то неправильно настраиваю аннотации @JsonTypeInfo   —  person Fynn    schedule 19.08.2020

Источник: ledsshop.ru

Стиль жизни - Здоровье!