← Назад к инструменту JSON

Валидатор JSON Schema

Последнее обновление: 2 октября 2026 г.

Проверьте документ JSON по JSON Schema и увидьте каждое невыполненное ограничение с его путём. И документ, и схема разбираются и проверяются в браузере.

Работает в браузере Без загрузки Ошибки с путями Слова из Draft 2020-12 Открытый код (MIT)

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

JSON Schema описывает, какую форму документу разрешено иметь: какие свойства есть, какого они типа, какие диапазоны и шаблоны допустимы. Эта страница проверяет документ по схеме и перечисляет все места, где он не соответствует, каждое с путём, чтобы его было легко найти.

Поддерживаются ключевые слова: type, const, enum, required, properties, additionalProperties, minProperties, maxProperties, items (одна схема или кортеж схем), minItems, maxItems, uniqueItems, minLength, maxLength, pattern, minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, allOf, anyOf, oneOf, not и локальные указатели $ref внутрь той же схемы.

Что намеренно не делается

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

Каждая ошибка выводится с путём: $ — корень документа, точка ведёт к свойству, квадратные скобки индексируют массив. required указывается на объекте, который должен был содержать свойство, — ограничение относится к объекту, а не к отсутствующему свойству, — и имя свойства указано в сообщении. anyOf и oneOf выводятся один раз на том экземпляре, который не прошёл, а не по разу на ветвь: стена ошибок по ветвям скрыла бы настоящую.

Частые вопросы

Какие ключевые слова JSON Schema поддерживаются?

type, const, enum, required, properties, additionalProperties, minProperties, maxProperties, items (одна схема или кортеж схем), minItems, maxItems, uniqueItems, minLength, maxLength, pattern, minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, allOf, anyOf, oneOf, not и локальные $ref.

Что намеренно не поддерживается?

Удалённые $ref (разрешаются только указатели внутри той же схемы), format как проверка, patternProperties, unevaluatedProperties, if/then/else и dependentSchemas. Схема, использующая их, всё равно проверяет перечисленные выше ключевые слова, но нереализованные не применяются — поэтому не считайте результат «допустимо» полным соответствием для схемы, построенной на них.

Проверка выполняется на сервере?

Нет. И документ, и схема разбираются через JSON.parse в вашем браузере и проверяются в памяти. Ничего не загружается, и страница работает при отключённой сети.

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

Потому что там находится ограничение. В JSON Schema required применяется к объекту, а не к отсутствующему свойству, поэтому ошибка выводится на пути объекта — например, $, а не $.name, — а имя свойства указано в сообщении.

Как выводятся ошибки anyOf и oneOf?

Одной ошибкой на том экземпляре, который не прошёл, а не по одной на каждую ветвь. anyOf не проходит, когда не совпала ни одна ветвь; oneOf — когда число совпавших ветвей не равно единице, и в сообщении сказано, сколько совпало. Перечисление внутренних ошибок каждой ветви скрыло бы настоящую.

Он сообщает об ошибке в самой схеме или проверяет только документ?

Он проверяет документ по схеме. Если сама схема не является допустимым JSON, об этом сообщается отдельно. Схема не проверяется по метасхеме JSON Schema, поэтому синтаксически верная, но логически неверная схема может просто ничему не соответствовать.

Нужно сравнить два документа? Для этого есть Сравнение JSON. Нашли ошибку? Свяжитесь с нами.