Превратите образец JSON в определения типов GraphQL SDL прямо в браузере. Всё, что вы вставляете, никуда не отправляется.
Генератор схемы GraphQL из JSON онлайн
Превратите образец JSON в определения типов GraphQL SDL прямо в браузере. Всё, что вы вставляете, никуда не отправляется.
Генератор схемы GraphQL из JSON работает полностью в вашем браузере. Образец JSON, который вы вставляете, и сгенерированный SDL никогда не загружаются в ArrayKit.
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, проверяйте синтаксис и извлекайте операции.