Валідатор JSON Schema
Перевірте документ JSON за схемою JSON Schema у браузері. Кожна помилка наведена зі шляхом у документі, ключовим словом і шляхом у схемі.
| # | Шлях у документі | Ключове слово | Повідомлення | Шлях у схемі |
|---|
Як перевірити JSON за схемою
- Вставте схему в поле JSON Schema, а дані – в Документ JSON або виберіть готовий випадок у списку Приклад.
- Залиште в полі Версія значення Автоматично ($schema), щоб використати версію, названу в
$schemaсхеми, або примусово виберіть draft 4, 7, 2019-09 чи 2020-12. - Перевірка виконується під час введення; кнопка Перевірити запускає її знову. Кнопка Форматувати обидва переформатовує відступи в обох текстах.
- Прочитайте результат: зелений рядок, коли документ коректний, або таблиця помилок.
Як читати таблицю помилок
Кожен рядок – це одне порушене правило:
- Шлях у документі – це JSON Pointer до значення, яке не пройшло перевірку.
/roles/1– другий елементroles;(корінь)– весь документ. - Ключове слово – правило схеми, яке порушено:
type,required,minimum,pattern,format,additionalPropertiesтощо. - Повідомлення пояснює причину, наприклад
0 is less than 1. - Шлях у схемі вказує на ключове слово всередині схеми, наприклад
/properties/id/minimum, щоб ви швидко знайшли правило.
Тексти повідомлень про помилки формує сам валідатор, і вони наводяться англійською мовою; решта інтерфейсу українською.
Перевірка не зупиняється на першій проблемі: перелічуються всі помилки. Коли властивість об’єкта не проходить перевірку, валідатор повідомляє підсумок («Property “id” does not match schema»), а за ним точну причину. Опція Показувати лише найконкретніші помилки ховає ці підсумки; зніміть позначку, щоб побачити весь ланцюжок. Помилки під anyOf і oneOf завжди зберігаються разом із конкретними помилками кожної гілки, бо вони мають сенс лише разом.
Що підтримується
- Версії: 4, 6 (перевіряється за правилами draft 7), 7, 2019-09 і 2020-12, зокрема
$defs/definitions, локальний$ref,if/then/else,dependentRequired,dependentSchemas,prefixItems,unevaluatedPropertiesтаunevaluatedItems. - Формати: перевіряються
date,time,date-time,duration,email,hostname,ipv4,ipv6,uri,uri-reference,uri-template,uuid,regex,json-pointerіrelative-json-pointer. Невідомі формати ігноруються, як дозволяє специфікація. - Посилання:
$refможе вказувати будь-куди всередині схеми, зокрема на оголошений нею$id. Віддалені схеми ніколи не завантажуються; посилання на іншу URL-адресу вважається нерозв’язаним.
Цей інструмент перевіряє документи за вашою схемою. Він не перевіряє, чи сама схема відповідає метасхемі, але попереджає про невідомі назви type, як-от "strin" чи "int", – поширену описку, яку валідатори інакше мовчки ігнорують.
Приклади
- Профіль користувача (2020-12):
required, довжини рядків,format: email,enumусерединіitems,uniqueItemsіadditionalProperties: false. - Список товарів із $ref (draft-07): масив, елементи якого посилаються на
#/definitions/product, зpatternдля артикула й ціною зexclusiveMinimum. - Конфігурація з if/then (2019-09): сертифікат, потрібний лише в режимі HTTPS,
oneOfміж електронною поштою та URI і числові обмеження.
До кожного прикладу додано документ із навмисними помилками, щоб ви побачили, як виглядають повідомлення.
Поширені запитання
Чи завантажуються мої дані на сервер?
Ні. Схема й документ перевіряються у вашому браузері; нічого не надсилається на сервер.
Чому `$ref` моєї схеми «нерозв’язаний»?
Валідатор знає лише схему, яку ви вставили. $ref на інший файл чи URL-адресу не може бути розкритий; скопіюйте потрібні означення в $defs і вказуйте на #/$defs/….
Яку версію вибрати?
Ту, на яку орієнтується ваш проєкт, і оголосіть її через $schema. Для нових схем актуальна версія 2020-12; її також використовує OpenAPI 3.1.
Чому integer відхиляє 2.0?
Не відхиляє: JSON Schema вважає 2.0 цілим числом, бо його значення ціле. 2.5 не проходить "type": "integer".
Чи працює інструмент офлайн?
Так. Щойно сторінка завантажилася й ви виконали першу перевірку (вона завантажує валідатор), з’єднання не потрібне.
Схожі інструменти
- Форматувальник і валідатор JSON Безкоштовний форматувальник і валідатор JSON: форматує, мінімізує та перевіряє JSON у браузері й показує помилки синтаксису з рядком і стовпцем.
- Тестер JSONPath Перевіряйте вирази JSONPath на власному JSON у браузері. Фільтри, зрізи, рекурсивний спуск, шляхи та JSON Pointer, з готовими прикладами.
- Конвертер JSON у YAML Конвертуйте JSON у YAML і YAML у JSON у браузері: з якорями, ключами злиття та файлами з кількома документами. Нічого не завантажується на сервер.