Генератор схемы GraphQL из JSON онлайн
Превратите образец JSON в определения типов GraphQL SDL прямо в браузере. Всё, что вы вставляете, никуда не отправляется.
Генератор схемы GraphQL из JSON работает полностью в вашем браузере. Образец JSON, который вы вставляете, и сгенерированный SDL никогда не загружаются в ArrayKit.
Открыть конвертер JSON в TypeScript
Об инструменте JSON в GraphQL
JSON to GraphQL Schema превращает образец JSON в готовый к использованию документ GraphQL SDL. Вставьте объект — и инструмент выведет блок `type Root`, сопоставляя числа с Int или Float, строки — со String, булевы значения — с Boolean, а любой ключ с именем id — со скаляром ID. Массивы становятся non-null типами списков вроде [String!]!, а вложенные объекты выделяются в собственные именованные типы (PascalCase из ключа поля), чтобы схема оставалась читаемой, а не глубоко вложенной. Это удобно, когда вы прототипируете GraphQL API на основе примера ответа, переносите REST-эндпоинт или набрасываете резолверы до того, как появится бэкенд. Задайте собственное имя корневого типа, скопируйте сгенерированный SDL или скачайте его как файл .graphql. Всё выполняется локально в вашем браузере — образец JSON никуда не загружается.
Возможности
- Выводит полный блок `type` GraphQL из любого объекта JSON
- Сопоставляет числа с Int или Float в зависимости от того, целые они или нет
- Распознаёт поле "id" и типизирует его как скаляр ID в GraphQL
- Автоматически превращает вложенные объекты в собственные именованные типы
- Массивы становятся non-null типами списков, например tags: [String!]!
- Удаляет дубликаты повторяющихся имён вложенных типов в схеме
- Поле для собственного имени корневого типа, по умолчанию "Root"
- Копируйте SDL или скачайте его как файл .graphql — всё на стороне клиента
Как использовать JSON в GraphQL
- Вставьте объект JSON в поле ввода или загрузите пример
- При желании задайте имя корневого типа
- Просмотрите сгенерированный GraphQL SDL справа
- Скопируйте схему или скачайте её как файл .graphql
Пример
Ввод
{"id":1,"name":"Ada"}
Результат
type Root {
id: ID!
name: String!
}
Поле id типизируется как ID, а name становится non-null String.
Частые ошибки и устранение неполадок
- Каждое поле обязательно (String!), но в некоторых ответах этого ключа может не быть. — Включите в образец `null` для полей, которые могут отсутствовать — Генератор схемы GraphQL из JSON делает значения null или отсутствующие значения nullable вместо добавления !.
- Поле-массив выдало [String]! вместо типизированного списка. — Добавьте в образец массива хотя бы один непустой элемент, чтобы инструмент мог вывести его тип; пустые массивы по умолчанию дают [String].
- Два разных вложенных объекта сгенерировали одинаковое имя типа. — Переименуйте один из ключей JSON перед вставкой или переименуйте тип в сгенерированном SDL позже — генератор удаляет дубликаты по имени, поэтому одинаковые ключи используют один тип.
- Баннер показывает "Invalid JSON", и схема не появляется. — Проверьте, нет ли лишней запятой, ключа без кавычек или одинарных кавычек — инструменту нужен строгий JSON, а сообщение об ошибке содержит строку и столбец для исправления.
Часто задаваемые вопросы
- Что генерирует Генератор схемы GraphQL из JSON?
- Он читает образец JSON и выводит GraphQL SDL — один или несколько блоков `type` с именами полей и выведенными скалярными, списочными или объектными типами — которые можно вставить прямо в файл схемы GraphQL.
- Как он решает между Int, Float, ID и String?
- Целые числа становятся Int, а дробные — Float; любое поле, буквально названное "id", типизируется как скаляр ID в GraphQL; текст становится String, а true/false — Boolean.
- Обрабатывает ли инструмент JSON в GraphQL вложенные объекты и массивы?
- Да. Вложенные объекты становятся собственным именованным типом GraphQL (PascalCase из ключа поля), а массивы становятся non-null типами списков вроде [String!]!, при этом тип элемента выводится из первого элемента.
- Могу ли я переименовать сгенерированный корневой тип?
- Да. Используйте поле имени корневого типа — по умолчанию это "Root", но вы можете задать любое имя, например "User" или "Product", перед копированием схемы.
- Загружается ли мой образец JSON куда-либо?
- Нет. Генератор схемы GraphQL из JSON работает полностью в вашем браузере. JSON, который вы вставляете, и сгенерированный SDL никогда не покидают ваше устройство.
- Что происходит с недействительным или некорректным JSON?
- Инструмент показывает баннер с ошибкой, указывающий на проблему и, где возможно, строку и столбец, вместо того чтобы генерировать сломанную схему.
Связанные инструменты
- JSON в TypeScript — Генерируйте интерфейсы TypeScript из образца JSON.
- JSON в Zod — Сгенерируйте схему Zod из образца JSON — строки, числа, массивы и вложенные объекты.
- JSON в Pydantic — Сгенерируйте классы моделей Pydantic v2 из образца JSON с типами и алиасами.
- JSON в код — Генерируйте типы Go, Rust, Python, Java, Kotlin, C# и TypeScript из JSON.
- Форматировщик GraphQL — Форматируйте или минифицируйте запросы и схемы GraphQL, проверяйте синтаксис и извлекайте операции.
- Генератор и валидатор JSON Schema — Генерация JSON Schema из образца или проверка документа.
Все инструменты ArrayKit