JSON Schema Validator — проверка JSON по схеме

Проверяем данные JSON по схеме JSON Schema: все ошибки разом, каждая с путём до значения, строкой в данных и подсказкой. Замечаем опечатки в именах полей и ошибки в самой схеме, собираем черновик схемы из примера.

Данные и схема никуда не отправляются: разбор и проверка считаются в браузере. Черновик стандарта определяется по полю $schema; если его нет, берётся 2020-12.

Что проверяется

Сначала оба поля разбираются как JSON, и ошибка разбора показывается со строкой, столбцом и подсказкой: одинарные кавычки, хвостовая запятая, ключ без кавычек, комментарий. Потом данные сверяются со схемой, и собираются все ошибки, а не первая.

Каждая ошибка несёт путь до значения вроде /items/1/price, номер строки в данных и объяснение, что не так: «ожидалось число, а здесь строка "12500.50" — число записано в кавычках, уберите их».

Черновики стандарта

Поддерживаются draft-04, draft-06, draft-07, 2019-09 и 2020-12. Черновик берётся из поля $schema или выбирается вручную: от него зависит, как читаются items, prefixItems, exclusiveMaximum и $ref.

Что не проверяется, названо в оговорках: unevaluatedProperties, $dynamicRef, ссылки на другие файлы и редкие форматы. Остальное проверено.

Схема из данных

Если схемы ещё нет, кнопка собирает её черновик по примеру: типы значений, вложенные объекты, общие поля у элементов массива, форматы дат и почты по виду строк. Все поля примера становятся обязательными — это заготовка, которую нужно уточнить, а не истина.

Данные остаются в браузере

В JSON бывают ответы API с именами, адресами и токенами. На сервер ничего не уходит: разбор и проверка считаются на вашей стороне. Привести JSON в читаемый вид можно в JSON Formatter.

Другие инструменты