Генератор JSON Schema
Автоматически создайте JSON Schema (Draft-07) из любого примера JSON. Вставьте JSON и получите валидную схему мгновенно — без регистрации.
Отступ:
Входной JSON
Сгенерированная схема
Здесь появится ваша JSON Schema
Связанные инструменты
О генераторе JSON Schema
Как это работает
- Вставьте или введите валидный JSON в левую панель
- Инструмент рекурсивно анализирует каждый ключ и значение
- Типы определяются автоматически: string, number, integer, boolean, object, array, null
- Все присутствующие ключи перечисляются в массиве "required"
- Полученная схема Draft-07 отображается справа
Типичные сценарии использования
- Создание документации API и схем OpenAPI
- Валидация JSON-пейлоадов в бэкенд-сервисах
- Генерация типов TypeScript с помощью json-schema-to-typescript
- Создание строгих контрактов данных между микросервисами
- Документирование форматов конфигурационных файлов
Часто задаваемые вопросы
Что такое JSON Schema?
JSON Schema — это словарь, позволяющий аннотировать и проверять документы JSON. Он описывает структуру, типы и ограничения данных JSON, упрощая валидацию входных данных, создание документации и обмен контрактами данных между сервисами.
Какой черновик JSON Schema генерирует этот инструмент?
Инструмент генерирует JSON Schema Draft-07 — наиболее широко поддерживаемую версию. Draft-07 совместим с большинством валидаторов, редакторов и инструментов API, включая VS Code, Postman и OpenAPI 3.x.
Как работает вывод схемы?
Инструмент рекурсивно проверяет каждое значение в JSON. Для каждого ключа определяется тип JSON (string, number, integer, boolean, array, object или null), собираются все уникальные ключи объектов и помечаются как обязательные. Данные не отправляются на сервер.
Все ли ключи помечаются как обязательные?
По умолчанию каждый ключ, присутствующий в примере JSON, добавляется в массив "required". Если реальные данные могут содержать необязательные поля, просто удалите эти ключи из массива required в сгенерированной схеме.
Что происходит со значениями null?
Если значение в примере JSON равно null, инструмент генерирует тип "null". Если поле может содержать и другие типы, измените тип вручную на массив, например ["string", "null"].
Можно ли генерировать схему из массива JSON на корневом уровне?
Да. Если ваш JSON является массивом верхнего уровня, сгенерированная схема будет иметь тип "array" с подсхемой "items", выведенной из первого элемента.
Отправляются ли мои данные JSON на сервер?
Нет. Вся обработка происходит в вашем браузере на стороне клиента. JSON никогда не передаётся на наши серверы, поэтому конфиденциальные данные остаются в безопасности.
Можно ли использовать сгенерированную схему в спецификациях OpenAPI / Swagger?
Да. OpenAPI 3.x использует расширенное подмножество JSON Schema Draft-07, поэтому результат этого инструмента можно вставить прямо в раздел "schema" компонента OpenAPI с незначительными правками.
Что если в JSON есть глубоко вложенные объекты?
Инструмент полностью поддерживает произвольно вложенные структуры JSON. Каждый вложенный объект получает собственный блок "properties" с правильными аннотациями типов.
В чём разница между "number" и "integer" в JSON Schema?
JSON Schema различает "integer" (целые числа: 1, 42, -7) и "number" (любое числовое значение, включая десятичные: 3.14). Инструмент автоматически использует "integer", если значение не имеет дробной части.
Можно ли настроить схему после генерации?
Безусловно. Результат — это редактируемый текст. Распространённые настройки: добавление полей "description", ограничение строк с помощью "minLength"/"maxLength" или "pattern", добавление массивов "enum" и изменение списка "required".
Что делает опция "additionalProperties: false"?
Когда включена, в каждый объект схемы добавляется "additionalProperties: false". Это указывает валидаторам отклонять ключи, не перечисленные явно в "properties". Полезно для строгих API-контрактов.