Добавьте различающиеся записи
Поместите несколько объектов одного ответа API в верхний массив. Ключи, встречающиеся не везде, станут необязательными; вложенные массивы проверяются по всем доступным элементам.
Генерация типов
В примере два разных объекта. Выберите язык и имя корневого типа.
JSON анализируется только в этом браузере; образец не отправляется и не сохраняется.
Объявлений: 2 · необязательных типов: 2
JSON в класс помогает получить черновую модель из ответа API. Массив нескольких однотипных объектов показывает поля, которые отсутствуют в первой записи, но встречаются позже. Этот генератор классов учитывает поля из всех записей.
Полученный код нужно проверить. Образец не доказывает бизнес-правила, будущие поля, точность денежных значений или настройки сериализатора проекта.
JSON в класс просматривает все объекты верхнего массива. Поле из второй записи не исчезает, а при отсутствии в других записях становится необязательным.
Один локальный JSON даёт структуры Rust, классы C#, Dart и PHP либо case class Scala. Расширение скачиваемого файла соответствует выбранному языку.
Поместите несколько объектов одного ответа API в верхний массив. Ключи, встречающиеся не везде, станут необязательными; вложенные массивы проверяются по всем доступным элементам.
Rust получает атрибуты Serde, C# — System.Text.Json, Dart — fromJson/toJson. PHP и Scala выдают объявления, для чтения JSON в проекте потребуется дополнительный код или codec.
Автогенерация ждёт 350 мс после правки. Отключите её, чтобы увидеть кнопку, либо нажмите Ctrl/Cmd+Enter. При изменении данных или опций копирование и скачивание сразу блокируются.
Структура Rust содержит serde rename, Option и Vec. В C# атрибут JsonPropertyName хранит исходный ключ, а nullable-свойства отражают пропуски в образцах.
Модель Dart включает типизированные поля и fromJson/toJson для вложенных объектов и списков. Проверьте сгенерированный код в реальном проекте Dart или Flutter.
PHP 8 получает типизированные свойства и аннотации элементов массива. Scala case class использует Option и List; готовый codec для десериализации не создаётся.
JSON в класс читает исходные числовые токены до выбора типа. Огромные целые и дробные значения не выдаются за обычный узкий integer.
Вставьте объект JSON или непустой массив похожих объектов. Инструмент создаст корневое объявление и вложенные модели; проверьте их в собственном проекте.
Поля, отсутствующие в части элементов массива или имеющие значение null, становятся необязательными. По одному лишь null конкретный тип установить нельзя.
Вложенные объекты становятся именованными моделями, а тип элемента массива выводится из всех видимых элементов. Несовместимые виды значений требуют более широкого типа.
Да. По умолчанию используется Root. Имя ASCII с заглавной первой буквой изменит названия объявлений и скачиваемого файла.
Нет. Вставленный JSON остаётся в браузере; серверу не передаётся. Загрузки по URL и постоянного хранения образца тоже нет.
Не нашли подходящий случай?
Передайте JSON в класс несколько реальных записей, проверьте необязательные поля и названия, затем испытайте файл выбранного языка в проекте.