DT Dev Tools

Конвертер JSON в Java POJO — генератор классов

Преобразуйте JSON в классы Java POJO онлайн: аннотации Jackson, геттеры и сеттеры или Lombok, коллекции List<T> и собственный пакет. Бесплатно и приватно.

🔒 Работает полностью в вашем браузере — ничего не загружается

Реклама

Генерируйте Java POJO из JSON

Сопоставление JSON API с Java обычно означает написание кучи простых Java-объектов с приватными полями, геттерами, сеттерами и аннотациями. Этот конвертер JSON в Java генерирует их по образцу за секунду. Каждый объект JSON становится классом, каждый ключ — полем в camelCase с аннотацией @JsonProperty, чтобы Jackson сопоставлял его с исходным именем, вложенные объекты становятся собственными классами, а массивы — List<T> или T[]. Строки с датой и временем распознаются и типизируются с помощью API java.time, а числа разделяются на long и double в зависимости от увиденных значений.

Движок — quicktype, который рассматривает каждый элемент массива, прежде чем вывести тип. Поле, встречающееся лишь в некоторых элементах, всё равно попадает в класс, так что десериализация полного ответа не завершится ошибкой из-за неизвестных свойств.

Jackson, Lombok и пакеты

Вывод по умолчанию ориентирован на Jackson — самую распространённую библиотеку JSON в Spring Boot и более широкой экосистеме Java — и содержит класс-конвертер со вспомогательными методами fromJsonString и toJsonString. Если вам нужны только классы данных, отметьте Classes only. Включите Use Lombok, чтобы заменить явные аксессоры аннотациями Lombok и сохранить каждый класс компактным. Задайте имя пакета, чтобы сгенерированный код соответствовал вашему дереву исходников, и переименуйте корневой класс в соответствии с вашей предметной областью, например CustomerResponse.

Советы для лучших моделей Java

Предоставьте образец с заполненными необязательными полями и несколькими элементами массива, ведь вывод типов может описать лишь имеющиеся значения. Пустые массивы или значения null становятся Object, который вам придётся заменить. После генерации разбейте вывод на по одному файлу на каждый публичный класс, если этого требует ваша сборка, проверьте числовые диапазоны и денежные поля, которые должны быть BigDecimal, и преобразуйте известные строки в enum. Поскольку конвертация происходит локально в браузере, внутренние полезные нагрузки можно вставлять безопасно.

Как использовать

  1. Вставьте JSONВставьте документ JSON или загрузите образец, чтобы увидеть, как это работает.
  2. НастройтеЗадайте имя корневого класса, пакет, тип коллекции и выбор в отношении Lombok.
  3. Скопируйте POJOСкопируйте классы Java или скачайте их как файл .java.

Часто задаваемые вопросы

Какую библиотеку JSON использует вывод?
Сгенерированные классы используют аннотации Jackson, такие как @JsonProperty, и содержат небольшой класс-конвертер. Отметьте Classes only, чтобы получить простые POJO.
Может ли он генерировать классы с Lombok?
Да. Включите Use Lombok — и геттеры и сеттеры будут заменены аннотациями Lombok, что делает классы короткими.
Он использует List или массивы?
На ваш выбор. Выберите List<T> для коллекций или T[] для простых массивов.
Загружается ли мой JSON?
Нет. Конвертер целиком работает в вашем браузере и никогда не отправляет данные на сервер.
Реклама