Как создать два json файла из одного класса с разными полями - PullRequest
0 голосов
/ 20 марта 2020

В моем приложении мне нужно создать два файла json из одного и того же объекта (объект содержит поля ввода + вывода) Json файл - 1: Этот файл json должен содержать только поля ввода. Json file - 2: этот json файл должен содержать несколько полей ввода и все поля вывода.

Позвольте мне объяснить на небольшом примере

ниже приведен класс, из которого я хочу сгенерировать два json файл

Class AreaDTO {
 String id;
 String name;
 String streetName;
 Street output;
}
json file 1     |   json file 2
{               |   {
  id            |       id
  name          |       name
  streetName    |       output
}              |    }

Для создания объекта в файл json в настоящее время я использую Джексона, Как достичь моего выше требует mnet с Джексоном или есть какой-либо другой способ достичь этого?

1 Ответ

0 голосов
/ 20 марта 2020

Вы можете использовать аннотацию @JsonInclude (Include.NON_NULL) на уровне класса. Затем установите в нуль поля, которые вам не нужны. Тогда Джексон будет игнорировать поля, которые являются нулевыми.

Пожалуйста, отметьте https://mkyong.com/java/jackson-how-to-ignore-null-fields/

Еще один вариант - использовать пользовательский фильтр JSON. Используйте Джексон, чтобы сериализовать поле только в том случае, если оно удовлетворяет заданным c, пользовательским критериям.

Пожалуйста, отметьте https://www.baeldung.com/jackson-serialize-field-custom-criteria

...