JSON в Java класс
Преобразуйте JSON образец в Java классы с автоматическим выводом вложенных типов и обобщённых списков.
JSON в Java класс
Вставьте JSON образец и этот инструмент генерирует Java классы, необходимые для его представления, выводя типы полей, типы вложенных объектов и типы элементов обобщённых списков прямо из предоставленных значений. Он предназначен для backend разработчиков, которые получают ответ API или файл конфигурации и нуждаются в типизированной модели для десериализации без необходимости вручную писать каждое поле.
Выберите способ аннотирования полей: отсутствие, Jackson's @JsonProperty или Gson's @SerializedName, каждый из которых сохраняет исходный ключ JSON таким образом, чтобы сериализация по-прежнему соответствовала после переименования поля в camelCase. Отключите геттеры и сеттеры для простого класса с открытыми полями или замените их Lombok's @Data или Java record, где компоненты занимают место полей и методов доступа. Типы-обёртки (Integer, Boolean, Double) можно везде использовать вместо примитивов; инструмент всегда использует обёртку где значение действительно опционально, поскольку примитив никогда не может содержать null. Объявление пакета добавляется при необходимости, а вложенные объекты отображаются как статические вложенные классы в одном файле или как отдельные классы верхнего уровня.
Когда одна и та же структура появляется более одного раза — повторяющиеся объекты в массиве или два соседних поля с идентичной структурой — инструмент повторно использует один сгенерированный класс вместо его дублирования. Поля, наблюдаемые с разными структурами по всему массиву, объединяются в один класс, поля отсутствующие в некоторых элементах отмечаются как опциональные. Числа остаются как int где они подходят в 32-битный диапазон и расширяются до long или double по мере необходимости; ключ JSON который не может быть идентификатором Java, например эмодзи, возвращается к безопасному сгенерированному имени.
Всё работает локально в вашем браузере — образец JSON никогда не загружается и не передаётся на сервер. Скопируйте сгенерированные классы в свой проект, загрузите их как файл .txt или отправьте вывод обратно на вход для запуска другого инструмента над ним.