Этот генератор JSON в код превращает образец данных JSON в готовые к использованию определения типов для Go, Rust, Python, TypeScript, Java, Kotlin и C#. Вставьте ответ API и мгновенно получите структуру JSON в Go, интерфейс JSON в TypeScript, модель JSON в Rust serde, dataclass или Pydantic-модель JSON в Python или класс JSON в Java. Он выводит типы полей, помечает необязательные ключи, именует вложенные структуры и обрабатывает массивы объектов, чтобы вы тратили меньше времени на ручное написание шаблонного кода. Выберите целевой язык, задайте имя корневого типа и скопируйте или скачайте результат. Он создан для бэкенд- и фронтенд-разработчиков, интеграторов API и QA-инженеров, которым нужно быстро генерировать типы из JSON. Всё обрабатывается локально в вашем браузере, поэтому ваши данные не покидают устройство.
Возможности
Генерирует типы для восьми целей: Go, Rust (serde), Python dataclasses, Pydantic, TypeScript, Java, Kotlin и C#
Выводит примитивные типы, отличая целые числа от чисел с плавающей точкой
Обнаруживает вложенные объекты и выдаёт отдельную именованную структуру для каждого
Обрабатывает массивы объектов, объединяя ключи и помечая поля, отсутствующие в некоторых элементах, как необязательные
Добавляет подходящие для языка аннотации сериализации, например теги json в Go и derive(Serialize, Deserialize) в Rust
Позволяет задать пользовательское имя корневого типа, которое определяет сгенерированный класс и имя файла для скачивания
Сообщает об ошибках разбора JSON со строкой и столбцом, чтобы вы могли исправить некорректный ввод
Копирование вывода или скачивание его с правильным расширением файла для каждого языка
Как использовать JSON в код
Вставьте ваш объект JSON или массив объектов в поле ввода.
Выберите целевой язык из выпадающего списка, например Go, TypeScript или Rust (serde).
Задайте поле «Имя корня», чтобы назвать тип верхнего уровня.
Просмотрите сгенерированный код на панели вывода и проверьте сообщения об ошибках разбора.
Скопируйте код или скачайте его файлом с расширением соответствующего языка.
JSON, преобразованный в интерфейс TypeScript с корневым типом по имени Root.
Частые ошибки и устранение неполадок
Инструмент сообщает об ошибке разбора с номером строки и столбца. — Ваш JSON некорректен. Проверьте замыкающие запятые, одинарные кавычки или ключи без кавычек и убедитесь, что ввод является строгим JSON перед генерацией.
Вы видите «Top-level JSON must be an object or an array of objects.» — Оберните голое значение в объект или передайте объект либо массив объектов. Строка, число или логическое значение верхнего уровня не могут быть преобразованы в тип.
Целые числа выводятся как int или number, но вы ожидали float. — Вывод типов основан на образцовом значении, поэтому 9 становится целым числом, а 9.5 — числом с плавающей точкой. Включите десятичную точку в образец, если поле действительно с плавающей точкой.
Поле неожиданно помечено как необязательное. — Когда вы передаёте массив объектов, любой ключ, отсутствующий в некоторых элементах, считается необязательным. Предоставьте элементы, все из которых содержат ключ, если он должен быть обязательным.
Пустой массив даёт тип элемента 'any' или 'unknown'. — Генератор не может вывести тип элемента из пустого массива. Включите хотя бы один представительный элемент, чтобы тип элемента можно было определить.
Часто задаваемые вопросы
Что такое генератор JSON в код?
Это браузерный инструмент, который читает образец данных JSON и пишет соответствующие определения типов для Go, Rust (serde), Python dataclasses, Pydantic, TypeScript, Java, Kotlin и C#, чтобы вы могли вставить типизированные модели прямо в свой проект.
Как сгенерировать структуру Go или интерфейс TypeScript из JSON?
Вставьте ваш JSON, выберите Go или TypeScript из выпадающего списка языков, задайте «Имя корня», затем скопируйте или скачайте сгенерированную структуру или интерфейс. Вывод обновляется по мере ввода.
Как JSON в код обрабатывает вложенные объекты и массивы?
Каждый вложенный объект становится собственной именованной структурой или классом, а массивы объектов объединяются, чтобы тип элемента охватывал каждый ключ. Ключи, отсутствующие в некоторых элементах массива, помечаются необязательными.
Могу ли я преобразовать массив JSON верхнего уровня?
Да. Массив объектов верхнего уровня поддерживается: инструмент выдаёт тип элемента плюс псевдоним Root, например type Root = []Item в Go или export type Root = Item[] в TypeScript.
Как определяются необязательные поля в сгенерированных типах?
Когда вы предоставляете несколько объектов в массиве, любой ключ, который не появляется в каждом объекте, считается необязательным и выдаётся как nullable или optional в целевом языке.
Отправляется ли куда-либо мой JSON при генерации кода?
Нет. Генератор JSON в код работает полностью в вашем браузере, ваши данные не покидают устройство.
Связанные инструменты
JSON в TypeScript — Генерируйте интерфейсы TypeScript из образца JSON.
Форматировщик JSON — Форматируйте, минимизируйте и проверяйте JSON с указанием места ошибок.
Просмотрщик JSON — Текстовый и древовидный просмотр со сворачиванием/разворачиванием и путями узлов.
Просмотр дерева JSON — Изучайте JSON в виде сворачиваемого типизированного дерева.
JSON в CSV — Преобразуйте массив плоских объектов JSON в CSV.