Генератор схемы GraphQL из JSON онлайн

Превратите образец JSON в определения типов GraphQL SDL прямо в браузере. Всё, что вы вставляете, никуда не отправляется.

Генератор схемы GraphQL из JSON работает полностью в вашем браузере. Образец JSON, который вы вставляете, и сгенерированный SDL никогда не загружаются в ArrayKit.

Создаёт и поддерживает Udit Agarwal

Открыть конвертер 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

  1. Вставьте объект JSON в поле ввода или загрузите пример
  2. При желании задайте имя корневого типа
  3. Просмотрите сгенерированный GraphQL SDL справа
  4. Скопируйте схему или скачайте её как файл .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 из образца или проверка документа.

Другие инструменты: JSON

  • Конвертер JSON в SQL — Превращает массив JSON в CREATE TABLE и INSERT.
  • Форматировщик JSON — Форматируйте, минимизируйте и проверяйте JSON с указанием места ошибок.
  • Просмотр дерева JSON — Изучайте JSON в виде сворачиваемого типизированного дерева.
  • Просмотрщик JSON — Текстовый и древовидный просмотр со сворачиванием/разворачиванием и путями узлов.
  • JSON в TypeScript — Генерируйте интерфейсы TypeScript из образца JSON.
  • JSON в CSV — Преобразуйте массив плоских объектов JSON в CSV.
  • Экранирование JSON — Экранируйте текст в строку JSON или разэкранируйте строку JSON в обычный текст.
  • JSON в код — Генерируйте типы Go, Rust, Python, Java, Kotlin, C# и TypeScript из JSON.
  • JSON Diff — Сравнение двух документов JSON со структурным различием.
  • Генератор и валидатор JSON Schema — Генерация JSON Schema из образца или проверка документа.
  • JSON Flatten — Сплющивайте вложенный JSON в ключи с точечной нотацией или разворачивайте обратно.
  • JSON в Zod — Сгенерируйте схему Zod из образца JSON — строки, числа, массивы и вложенные объекты.

Все инструменты: JSON (29) · Все инструменты