DT Dev Tools

Генератор JSON Schema

Создавайте JSON Schema draft-07 из образца JSON локально. Бесплатный генератор определяет типы, свойства, обязательные поля и схемы элементов массивов без загрузки данных.

🔒 Работает полностью в вашем браузере — ничего не загружается

Advertisement

Что делает Генератор JSON Schema

Генератор JSON Schema читает образец JSON и создаёт схему draft-07, которая проверяет документы с такой же структурой. Он рекурсивно обходит значение: объекты превращаются в схему с картой properties и массивом required, массивы — в схему с определением items, а примитивные значения описываются соответствующим type из JSON Schema. Результат — переносимый контракт, который можно использовать в документации API, промежуточном ПО для проверки запросов, загрузчиках конфигурации, контрактных тестах или в инструментах редактора, предлагающих автодополнение и проверку на лету на основе схемы.

Массивы обобщаются, а не перечисляются. Если массив содержит объекты, все элементы объединяются, чтобы сгенерированная схема items охватывала объединение ключей, а ключ, отсутствующий в некоторых элементах, исключается из списка обязательных. Если массив смешивает примитивные типы, генератор создаёт anyOf, чтобы каждый обнаруженный тип оставался допустимым. Генерация по образцу — самый быстрый способ получить основу схемы, которую затем дорабатывают вручную, вместо того чтобы писать вложенные определения типов с нуля.

Приватный рабочий процесс в браузере

Весь разбор и построение схемы выполняются в вашем браузере с помощью клиентского JavaScript. Инструмент не загружает ваш JSON, ответы API, конфигурацию, идентификаторы или образцы, похожие на данные клиентов, на сервер и не требует учётной записи. Такая исключительно локальная работа важна, потому что входные данные генератора схем часто представляют собой реальную нагрузку, перехваченную при отладке сервиса. Работа на вашем компьютере снижает риски и делает результат мгновенным, ведь ничего не покидает страницу.

Интерфейс показывает входной JSON и сгенерированную схему рядом, чтобы вы могли проверить результат перед копированием. Схема, созданная по одному образцу, — это отправная точка, а не готовый контракт: один пример не способен раскрыть все необязательные свойства, значения enum, ограничения формата и числовые диапазоны, допустимые в вашей предметной области, поэтому расширяйте и уточняйте схему, опираясь на знания, которых в образце нет.

Практические советы

Используйте самый полный из доступных образцов с заполненными необязательными полями и массивами из нескольких элементов, чтобы логика объединения могла точно описать объединения типов. После генерации доработайте схему: добавьте ключевые слова format, такие как email, uri или date-time, где это уместно, добавьте списки enum для полей с фиксированным набором значений, задайте minimum и maximum для чисел и уберите из массива required поля, которые могут законно отсутствовать. Прежде чем применять схему в продакшене, проверьте её на нескольких реальных документах выбранным валидатором: генерация в браузере лучше всего подходит для быстрого и точного первого черновика.

Как использовать

  1. Вставьте JSONДобавьте репрезентативный объект, массив или значение JSON.
  2. СгенерируйтеСоздайте схему draft-07, описывающую образец.
  3. Скопируйте или скачайтеПросмотрите схему, затем скопируйте её или скачайте файл .json.

Часто задаваемые вопросы

Какая версия JSON Schema создаётся?
Генератор создаёт схемы draft-07 с соответствующим идентификатором $schema.
Как выбираются обязательные свойства?
Каждый ключ, присутствующий в образце объекта, заносится в обязательные. Удалите из массива required ключи, которые необязательны.
Загружается ли мой JSON?
Нет. Генерация схемы полностью выполняется в вашем браузере с помощью клиентского JavaScript.
Advertisement