Валидатор JSON Schema

Вставьте схему и JSON, чтобы увидеть, какие значения нарушают какие правила, или сгенерируйте стартовую схему по примеру данных. Работает на Ajv — самом популярном валидаторе JSON Schema.

Обновлено

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Проверьте JSONPath-выражения на своём JSON онлайнФильтры, подстановочные знаки, рекурсивный спуск и срезы.Тестер JSONPath →

Как пользоваться: Валидатор JSON Schema

  1. Вставьте JSON Schema слева, а проверяемый JSON справа (YAML тоже подойдёт).
  2. Драфт определяется по полю $schema, или вы можете выбрать его вручную.
  3. Изучите список ошибок: расположение в JSON, описание проблемы и правило схемы, которое не выполнилось.
  4. Нет схемы? Вставьте пример данных и нажмите Сгенерировать схему из данных.

Что такое JSON Schema?

JSON Schema — это словарь для описания структуры JSON-данных: какие свойства существуют, их типы, какие из них обязательны, допустимые значения, форматы строк, диапазоны чисел и длины массивов. Её используют для проверки запросов и ответов API, конфигурационных файлов, данных из форм и конвейеров обработки данных. На ней также основаны определения запросов и ответов в OpenAPI.

Как читать ошибки

КолонкаЗначение
ГдеJSON Pointer к значению с ошибкой, например /items/0/qty — поле qty первого элемента
ПроблемаЧто не так: неверный тип, отсутствует обязательное свойство, значение не разрешено, неожиданное свойство…
Правило схемыПуть к ключевому слову в схеме, которое отклонило значение, например #/properties/items/items/properties/qty/minimum

Драфты

У JSON Schema есть несколько версий. Draft 2020-12 — актуальная (её использует OpenAPI 3.1); draft-07 по-прежнему чаще всего поддерживается библиотеками и редакторами; draft-04 встречается в старых спецификациях, таких как Swagger 2.0 и OpenAPI 3.0. Валидатор читает $schema, чтобы выбрать нужный набор правил. Различия, которые чаще всего сбивают с толку: draft-04 использует id вместо $id и логический exclusiveMinimum; 2019-09 заменил definitions на $defs и добавил unevaluatedProperties.

Частые ошибки

  • Забыть "additionalProperties": false — без него неизвестные свойства разрешены.
  • Поместить required внутрь свойства, а не в родительский объект.
  • Ожидать, что format проверяется везде — многие валидаторы только аннотируют форматы, если их не попросить проверять.
  • Использовать "type": "integer" для значений вроде 1.0, которые в некоторых языках приходят как дробные числа.

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

Также ищут как: json schema validator online, ajv онлайн, json schema draft 2020-12, json в json schema, валидация json по схеме.

Инструменты, которые хорошо сочетаются с Валидатор JSON Schema

  • JSON в JSON Schema — Вставьте один или несколько примеров JSON, и вы получите JSON Schema, которая их описывает: вложенные объекты, массивы объектов, объединённые в одну схему элемента, обязательные поля (ключи, присутствующие во всех примерах), распознанные форматы вроде email, date-time, URI и UUID, необязательные enum и вывод в формате 2020-12 или draft-07.
  • JSON форматтер — Вставьте JSON, чтобы отформатировать, минифицировать или проверить его.
  • Валидатор YAML — Вставьте файл Docker Compose, манифест Kubernetes, workflow GitHub Actions или любой YAML, чтобы найти ошибку, поймать типичные ловушки и получить аккуратно отформатированную версию.
  • Тестер JSONPath — Введите запрос JSONPath и сразу увидите, что он выбирает, с точным путём каждого совпадения.

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

Какой валидатор JSON Schema используется здесь?
Ajv 8 — самая распространённая реализация на JavaScript, которая работает прямо в вашем браузере.
Можно ли сгенерировать JSON Schema из JSON?
Да. Вставьте пример данных и нажмите «Сгенерировать схему из данных». Типы, вложенные объекты, массивы, распространённые форматы и обязательные ключи определяются автоматически.
Поддерживается ли $ref на другие файлы?
Ссылки внутри той же схемы (#/$defs/...) работают. Внешние URL не загружаются, поэтому сначала вставьте эти определения прямо в схему.
Мои данные куда-нибудь отправляются?
Нет. Проверка выполняется в вашем браузере.
Можно ли установить Валидатор JSON Schema как веб-приложение и пользоваться им офлайн?
Да. Валидатор JSON Schema — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localJSON в JSON SchemaВставьте один или несколько примеров JSON, и вы получите JSON Schema, которая их описывает: вложенные…localВалидатор OpenAPI / SwaggerВставьте спецификацию API, чтобы проверить её по официальной схеме OpenAPI, найти битые ссылки и…localJSON форматтерВставьте JSON, чтобы отформатировать, минифицировать или проверить его. Ошибки указываются с точной…localJSON-просмотрщикУдобно изучайте большой или глубоко вложенный JSON: сворачивайте и разворачивайте объекты, ищите ключи и…localJSON в TypeScriptВставьте образец JSON, например ответ API или конфиг, и получите готовые интерфейсы TypeScript с…localВалидатор YAMLВставьте файл Docker Compose, манифест Kubernetes, workflow GitHub Actions или любой YAML, чтобы найти…