Подберите разные примеры
Корень должен быть объектом или непустым массивом только из объектов. Массив задаёт общую модель элемента, а не вымышленное поле-обёртку. Внутренние массивы анализируются рекурсивно.
Генерация типов
Для массива создаётся модель элемента. Весь ответ следует читать как List<Root>.
Разбор и генерация выполняются в браузере. Данные не отправляются и не сохраняются.
Входной массив: файл определяет модель элемента. Читайте List<Root>.
Классов: 2 · nullable-полей: 2
JSON в Java помогает начать работу, когда есть ответ API, но нет определения модели. Несколько объектов в массиве показывают поля, отсутствующие в первой записи, и значения null.
Этот генератор POJO создаёт черновик. Примеры не доказывают обязательность полей и не описывают все значения, которые интерфейс может вернуть в будущем.
JSON в Java объединяет поля всех объектов в одной позиции массива. Поле, появившееся позже, не исчезает из модели; отсутствие или null расширяет выведенный тип.
Ключи с символами и зарезервированными словами получают допустимые имена. Аннотации Jackson связывают их с исходным написанием. При совпадении имён добавляются устойчивые числовые суффиксы.
Корень должен быть объектом или непустым массивом только из объектов. Массив задаёт общую модель элемента, а не вымышленное поле-обёртку. Внутренние массивы анализируются рекурсивно.
Режим наблюдений расширяет отсутствующие поля и поля с null. Общий режим использует обёртки Java и свойства Kotlin с ? и значением null по умолчанию. Без вложенности вспомогательные классы располагаются на верхнем уровне того же файла.
Автоматический режим ждёт 350 мс. После отключения используйте кнопку генерации или Ctrl/Cmd+Enter. Любое изменение блокирует экспорт. Очистку и загрузку примера можно один раз отменить вместе с настройками и результатом.
Обычные целые числа в знаковом 64-битном диапазоне становятся long/Long, более крупные — BigInteger. Десятичная и экспоненциальная запись, включая 1.0 и 1e3, даёт BigDecimal. Преобразования через JavaScript Number нет.
Здесь можно переключить классы Java на data class Kotlin. Отсутствующее поле или null приводит к T? = null; у остальных свойств нет значения по умолчанию. Пустой корневой объект даёт обычный class без параметров.
Имена приводятся к ASCII camelCase, конфликты разрешаются суффиксами. JsonProperty ставится на поля Java, параметры и getter Kotlin. Полные имена типов предотвращают конфликты с корневым именем String или List.
По умолчанию Java использует открытые поля и вложенные static-классы, Kotlin — вложенные классы данных. Без вложенности вспомогательные классы Java не объявляются public. Всё остаётся в одном скачиваемом файле.
JSON в Java создаёт модели для Jackson 2.x. Добавьте пакет и зависимости в своём проекте, проверьте модуль Kotlin и правила null. Конфигурация для каждой версии Spring Boot не генерируется.
Да, если массив непустой и содержит только объекты. В выводе учитываются все примеры. Для чтения всего ответа используйте List<Root>: файл описывает класс одного элемента.
Разбор и генерация выполняются в текущем браузере. Входные данные не отправляются и не сохраняются. Чтения URL и ссылок для публикации примеров здесь нет.
Обычные целые числа дают long/Long или BigInteger в зависимости от диапазона. Десятичные и экспоненциальные токены дают BigDecimal. Для чисел в Object/Any дополнительно нужны указанные выше настройки Jackson.
В примерах встретились несовместимые типы либо только null. Широкий тип отражает недостаток данных. Добавьте характерные значения или уточните тип вручную после проверки контракта API.
Есть случай для улучшения вывода типов?
Используйте JSON в Java для нескольких реальных ответов, проверьте nullable-поля и настройки Jackson, затем скомпилируйте экспортированный файл в своём проекте.