azerphoenix
@azerphoenix
Java Software Engineer

Как корректно сформировать DTO из json для последующего сохранения в БД?

Доброго времени суток!
Имеются json / geojson файлы огромных размеров (от 120 мб до 2гб весом).
Необходимо на основе json файла сформировать DTO, чтобы в последующем при помощи jackson сериализовать и сохранить в БД.
Обычно, для формирования DTO использую онлайн сервис - www.jsonschema2pojo.org
Но у него есть ограничение около в 50000 символов. Соответственно, приходится разбивать файл на части и каждый раз копировать / удалять дубликаты полей и т.д. На данный момент удалось достать около 1000 полей и судя по всему это еще не конец. Я могу конечно же проигнорировать поля используя, @JsonIgnoreProperties(ignoreUnknown = true) на уровне класса, но хотелось бы все поля замаппить. Отсюда возникает вопрос, какие есть инструменты для работы с большим объемом данных?
Пробовал следующие варианты:
www.jsonschema2pojo.org онлайн сервис, cli, maven plugin, gradle plugin. Только онлайн версия формирует корректно, но имеет ограничения. cli & maven, gradle plugin не формируют dto или же формируют некорректно.
Попробовал этот инструмент https://github.com/astav/JsonToJava JsonToJava, тоже формирует некорректно.
На данный момент в голову приходит одна идея:
построчно прочитать файл средствами Java, при помощи Selenium + webdriver скопировать в браузер в вышеуказаный онлайн сервис, далее получить все поля и удалить дублируемые поля. Есть ли более адекватные варианты решения вопроса?
  • Вопрос задан
  • 309 просмотров
Решения вопроса 1
driversti
@driversti
Кратко о себе
Необходимо на основе json файла сформировать DTO, чтобы в последующем при помощи jackson сериализовать и сохранить в БД

Не совсем понимаю вопрос. Вы имеете ввиду, как создать сами объекты? То есть, чтобы ручками не создавать классы с полями?
Может эта либка вам поможет https://github.com/astav/JsonToJava
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
25 апр. 2024, в 19:42
49000 руб./за проект
25 апр. 2024, в 19:41
2000 руб./за проект
25 апр. 2024, в 19:22
18000 руб./за проект