Проверка по JSON-схеме

Проверьте данные JSON по JSON-схеме (draft 2020-12, 2019-09 или 07) через Ajv с проверкой форматов. Для каждой ошибки указан путь. Работает в браузере.

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

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

Просмотреть Все

Что такое Проверка по JSON-схеме?

Инструмент проверяет данные JSON по JSON-схеме и перечисляет все нарушения — отсутствующие обязательные свойства, неверные типы, числа вне диапазона, недопустимые форматы, лишние свойства — каждое с указателем JSON Pointer на проблемное значение. Поддерживаются драфты 2020-12, 2019-09 и 07.

Как пользоваться Проверка по JSON-схеме

  1. Вставьте данные в Данные JSON, а схему — в JSON-схема (или нажмите Загрузить пример в каждом поле).
  2. Оставьте Версия схемы на автоопределении или выберите драфт.
  3. Прочитайте результат: сообщение об успехе или список ошибок с путями.
  4. Исправьте данные (или схему) — результат обновится автоматически.

Пример

Ввод
Data: {"age":-1,"email":"x"}
Schema: {"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["name"],"properties":{"age":{"type":"integer","minimum":0},"email":{"type":"string","format":"email"}}}
Вывод
Validation errors: 3 (draft 2020-12)
(root) Missing required property "name"
/age Must be ≥ 0
/email Must be a valid "email"

Когда использовать Проверка по JSON-схеме

Используйте для проверки данных API, конфигов или пишущихся вами схем. Схемы draft-04 и старше не поддерживаются (в Ajv 8 их убрали). Удалённые $ref-URL не загружаются; схемы должны быть самодостаточными (локальный $ref на #/$defs/... работает).

Как работает Проверка по JSON-схеме

Проверка использует Ajv 8 — широко применяемую реализацию JSON Schema — с включённым allErrors, чтобы сообщались все нарушения, и ajv-formats для ключевых слов format, таких как email, date-time, uri и uuid. Драфт определяется по URL $schema в схеме (2020-12, 2019-09, иначе draft-07) или выбирается вручную. Строгий режим выключен, поэтому неизвестные ключевые слова вроде example игнорируются, а не отвергаются. Типичные ошибки показываются с переведёнными сообщениями; остальные — с сообщением Ajv.

Распространенные Случаи Использования

  • Проверка тела запроса API по схеме, полученной из OpenAPI
  • Выяснение, почему конфиг отклоняется
  • Разработка и тестирование новой JSON-схемы
  • Проверка тестовых данных

Примечание по Безопасности

Всё выполняется локально в вашем браузере: вставленный код никуда не загружается.

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

Какие драфты поддерживаются?

2020-12, 2019-09 и draft-07 (схемы draft-06 обычно работают как draft-07). Draft-04 не поддерживается.

Проверяются ли форматы вроде email?

Да, через ajv-formats.

Может ли он загружать удалённые схемы по $ref?

Нет, только ссылки внутри той же схемы.

Почему он показывает сразу несколько ошибок?

Собираются все ошибки, чтобы вы могли исправить всё за один проход.

Что сделать дальше

Генератор JSON Schema
Создайте JSON Schema (draft 2020-12) по образцу JSON: типы, обязательные ключи, допускающие null объединения, элементы массивов и форматы строк вроде email и date-time. Бесплатно.
JSON в TypeScript
Создавайте интерфейсы или псевдонимы типов TypeScript по образцу JSON: необязательные ключи, объединения с null и вложенные типы, выведенные из массивов. Бесплатно и приватно.
JSON в структуру Go
Превращайте JSON в структуры Go с экспортируемыми именами полей, тегами json, указателями для null и необязательным omitempty. Вложенные объекты и массивы. Бесплатно.
JSON в Python
Преобразуйте JSON в классы dataclass или TypedDict на Python с аннотациями типов, полями Optional и вложенными классами в порядке зависимостей. Бесплатно, в браузере.
Экранирование строк
Один инструмент для экранирования и обратного преобразования строк для JSON, JavaScript, HTML, XML, компонентов URL, регулярных выражений, SQL, CSS и аргументов оболочки.
JSON в XML
Преобразуйте JSON в корректный XML: настраиваемый корневой элемент, атрибуты через ключи «@_», повторяющиеся элементы для массивов и необязательная XML-декларация. Бесплатно.

Другие категории