Валидатор JSON Schema
Вставьте данные JSON слева и схему JSON Schema справа либо откройте файлы. Данные проверяются по мере набора, либо нажмите «Проверить». Ничего не загружается: всё остаётся в вашем браузере.
Валидатор JSON Schema онлайн
Проверьте, что данные JSON соответствуют схеме JSON Schema: вставьте данные слева и схему справа, и инструмент скажет, корректны ли данные, а если нет, перечислит все места, нарушающие правила, с путём, строкой, столбцом и понятным объяснением. Всё происходит в вашем браузере: ни данные, ни схема не загружаются.
Валидатор JSON или валидатор JSON Schema
Валидатор JSON проверяет только синтаксис: кавычки, запятые, скобки. Валидатор JSON Schema идёт дальше и проверяет содержимое: на месте ли обязательные поля, правильного ли типа каждое значение, в диапазоне ли числа, соответствуют ли строки шаблону, используются ли только допустимые значения. Эта страница делает и то и другое: синтаксическая ошибка в любом из полей показывается первой со строкой и столбцом, затем данные проверяются по схеме. Для проверки только синтаксиса и форматирования используйте форматирование и валидатор JSON.
Пример
В данных цена записана в кавычках:
{
"name": "DIEG",
"price": "19.99"
}
Схема требует число:
{
"type": "object",
"properties": {
"name": { "type": "string" },
"price": { "type": "number" }
},
"required": ["name", "price"]
}
Результат — «Некорректно» с одной ошибкой в $.price: «Ожидалось число, но значение является строкой ("19.99"). Уберите кавычки вокруг 19.99, чтобы получилось число». Нажмите «Пример», чтобы попробовать.
Как читать результат
- Путь: где проблема, записан как JSONPath:
$— весь документ,$.items[0].price— цена первого элемента. - Проблема: что не так, простыми словами, с подсказкой для типичных случаев: число или true/false в кавычках, число там, где ожидается текст, дробь там, где нужно целое.
- Место: строка и столбец в ваших данных; щелчок выделяет значение в поле. Недостающее обязательное поле указывает на объект, в котором оно должно быть.
- Правило: часть схемы, которая нарушена, например
/properties/price/type; щелчок выделяет её в поле схемы. - Результат можно скопировать текстом для тикета или чата.
Ошибки в самой схеме
Валидаторы молча игнорируют незнакомые ключевые слова, поэтому схема с "requried" вместо "required" пропускает всё. Этот инструмент перечисляет такие опечатки с подсказкой, а также значения неверного вида: несуществующее имя типа, required, который не является списком, отрицательный minLength, шаблон, не являющийся корректным регулярным выражением.
Версии и ключевые слова
- Draft-04, Draft-07, 2019-09 и 2020-12. При «Draft: автоматически» версия берётся из строки
$schemaсхемы, а без неё используется 2020-12; версию можно выбрать и самому. Страница сообщает, какая использовалась. - Все обычные ключевые слова: type, required, properties, additionalProperties, patternProperties, items, prefixItems, enum, const, minimum и maximum, minLength и maxLength, pattern, minItems и maxItems, uniqueItems, allOf, anyOf, oneOf, not, if/then/else, dependentRequired, $ref и $defs.
- Ключевое слово
formatпроверяется: email, date, date-time, time, uri, uuid, ipv4, ipv6, hostname и другие.
Для чего это нужно
- Тестирование API: соответствует ли ответ контракту из документации, с нужными полями, типами, вложенными объектами и массивами?
- Файлы конфигурации: полон и корректен ли файл настроек перед развёртыванием?
- Обмен данными: то ли в импортированных или экспортированных записях, что ожидает другая сторона?
- Написание схемы: проверьте её на хороших и плохих примерах и посмотрите, что она пропускает.
Ограничения
$refдолжен указывать внутрь схемы, например#/$defs/address. Инструмент работает в браузере и не скачивает другие схемы, поэтому ссылки на другие файлы или URL (обычные для схем из SchemaStore) обработать нельзя; страница об этом сообщает.$dynamicRefи пользовательские словари поддерживаются лишь частично. По официальному набору тестов JSON Schema проверка совпадает примерно с 96–97 процентами утверждений для Draft-04, Draft-07 и 2019-09 и с 93 процентами для 2020-12; остальное — эти ссылки и правило, по которому format является лишь аннотацией (здесь он проверяется).- Оба текста должны быть строгим JSON: комментарии и лишние запятые — синтаксические ошибки. Схемы в YAML не читаются.
- Всё хранится в памяти браузера, поэтому файлы в много мегабайт работают медленно, особенно на телефоне.
Похожие инструменты
Форматируйте, минифицируйте и проверяйте JSON онлайн. Откройте файл, найдите строку и столбец ошибки, скачайте результат. Всё в браузере.
Конвертер HTML в Markdown онлайн для Hugo, Astro, Grav и других. Вставьте страницу или форматированный текст, front matter по желанию. Работает в браузере.
Кодирование текста в Base64 и декодирование Base64 в текст онлайн, мгновенно в браузере. Поддерживаются UTF-8 и URL-safe Base64.
Популярные инструменты
Узнайте, где размещён сайт: IP-адрес, хостинг-компания (ASN), страна и город сервера. Бесплатная проверка хостинга для любого домена.
Бесплатный IP Lookup: страна, город, координаты и часовой пояс IP-адреса, а также имя хоста через обратный DNS (reverse IP). IPv4 и IPv6.
DNS lookup онлайн: A, AAAA, CNAME, MX, NS, TXT, SOA и CAA записи любого домена и его SSL-сертификат. Узнайте, почему не срабатывает DNS lookup.
Проверьте из США (Нью-Йорк), доступен ли сайт: код ответа HTTP и время ответа в миллисекундах. Бесплатный пинг из США для любого URL.