# Валидатор JSON Schema

Проверка данных JSON по схеме JSON для проверки структуры и типов данных

> Каноническая страница: https://elysiatools.com/ru/tools/json-schema-validator

- **Категория:** Validation

- **Ключевые слова:** json, schema, валидатор, проверка, структура, данные, формат

## Обзор

# Валидатор JSON Schema

## Обзор

JSON Schema Validator - это мощный инструмент для проверки данных JSON по предопределенным схемам. Он гарантирует, что ваши данные JSON соответствуют ожидаемым структурам, типам данных и ограничениям.

## Возможности

### Поддерживаемые ключевые слова JSON Schema

- **type**: Проверка типа данных (string, number, integer, boolean, array, object, null)
- **properties**: Определение схем свойств объекта
- **required**: Указание обязательных свойств объекта
- **additionalProperties**: Управление разрешением дополнительных свойств
- **items**: Определение схем элементов массива (одна схема или кортеж)
- **minItems / maxItems**: Установка ограничений длины массива
- **uniqueItems**: Требование уникальности всех элементов массива
- **enum**: Ограничение значений определённым набором
- **const**: Требование точного постоянного значения
- **minimum / maximum**: Установка ограничений числового диапазона
- **exclusiveMinimum / exclusiveMaximum**: Исключительные числовые границы
- **multipleOf**: Требование, чтобы значения были кратны числу
- **minLength / maxLength**: Установка ограничений длины строки
- **pattern**: Проверка строк по регулярным выражениям
- **format**: Проверка встроенных форматов (email, uri и т.д.)
- **allOf**: Данные должны соответствовать всем подсхемам
- **anyOf**: Данные должны соответствовать хотя бы одной подсхеме
- **oneOf**: Данные должны соответствовать ровно одной подсхеме
- **$ref**: Ссылка на другую схему (базовая поддержка)

## Пример использования

### Базовая проверка объекта

**Данные JSON:**
```json
{
  "имя": "Иван",
  "возраст": 30,
  "email": "ivan@example.com"
}
```

**JSON Schema:**
```json
{
  "type": "object",
  "properties": {
    "имя": { "type": "string", "minLength": 1 },
    "возраст": { "type": "integer", "minimum": 0, "maximum": 150 },
    "email": { "type": "string", "format": "email" }
  },
  "required": ["имя", "возраст"]
}
```

## Поддерживаемые версии JSON Schema

- draft-04
- draft-06
- draft-07
- 2019-09
- 2020-12

## Входные данные

- **Данные JSON** (textarea): Введите данные JSON для проверки (например: {"name": "Иван", "age": 30})...
- **JSON Schema** (textarea): Введите JSON Schema (например: {"type": "object", "properties": {...}})...

## Когда использовать

- При отладке API-запросов и ответов для проверки их соответствия спецификации.
- Для валидации конфигурационных файлов JSON перед их развертыванием в рабочей среде.
- При написании и тестировании новых схем JSON Schema для проверки корректности их работы с тестовыми данными.

## Как это работает

- Вставьте проверяемый текст JSON в поле «Данные JSON».
- Введите соответствующую схему JSON Schema в поле «JSON Schema».
- Инструмент автоматически проанализирует структуру данных, сопоставит типы, проверит обязательные свойства и выведет подробный отчет об ошибках или подтверждение успешной валидации.

## Сценарии использования

- Проверка структуры профиля пользователя на соответствие схеме регистрации.
- Валидация массивов тегов или идентификаторов на уникальность и тип данных.
- Тестирование конфигураций приложений с ограничением на ввод дополнительных свойств через additionalProperties: false.

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

### Какие версии JSON Schema поддерживает валидатор?

Инструмент поддерживает спецификации draft-04, draft-06, draft-07, 2019-09 и 2020-12.

### Что произойдет, если в JSON отсутствуют обязательные поля?

Валидатор укажет на ошибку несоответствия правилу required и выведет список недостающих свойств.

### Можно ли проверять форматы данных, такие как email или URI?

Да, инструмент поддерживает валидацию встроенных форматов с помощью ключевого слова format.

### Поддерживает ли инструмент проверку вложенных объектов и массивов?

Да, валидатор полностью обрабатывает сложные структуры данных, включая вложенные объекты и массивы с правилами items и uniqueItems.

### Безопасно ли отправлять конфиденциальные данные для проверки?

Проверка выполняется локально в вашем браузере, данные не отправляются на сторонние серверы.

## Связанные инструменты

- [ID Card Validator](https://elysiatools.com/ru/tools/id-card-validator): Validate and analyze ID card numbers from various countries with detailed breakdown (JSON output)
- [BSON Конвертер](https://elysiatools.com/ru/tools/bson-converter): Кодирует и декодирует данные в/из формата BSON (Binary JSON)
- [CSON в JSON](https://elysiatools.com/ru/tools/cson-to-json): Преобразует данные CSON (CoffeeScript Object Notation) в формат JSON
- [Удалитель BOM Символов](https://elysiatools.com/ru/tools/data-bom-remover): Удаление BOM (Byte Order Mark) символов из текстового и файлового содержимого. Идеально для очистки текстовых файлов с проблемами кодировки.
- [EDN в JSON](https://elysiatools.com/ru/tools/edn-to-json): Преобразует данные EDN (Extensible Data Notation) в формат JSON
- [GraphQL в JSON](https://elysiatools.com/ru/tools/graphql-to-json): Преобразует запросы или ответы GraphQL в формат JSON
- [Форматировщик JSON](https://elysiatools.com/ru/tools/json-formatter): Форматирует и проверяет данные JSON
- [JSON в CSON](https://elysiatools.com/ru/tools/json-to-cson): Преобразует данные JSON в формат CSON (CoffeeScript Object Notation)

## Примеры

- [Примеры JSON](https://elysiatools.com/ru/samples/json): Примеры формата JSON (JavaScript Object Notation) от простых до сложных структур
- [JSON Примеры Terraform Plan](https://elysiatools.com/ru/samples/terraform-plan-json-samples): Файлы Terraform plan JSON для визуализации зависимостей и проверки изменений, похожие на terraform show -json
- [Примеры JSON чата](https://elysiatools.com/ru/samples/chat-transcript-json): Примеры JSON для чат-транскриптов с несколькими ролями
- [Примеры JSON для Rich Text](https://elysiatools.com/ru/samples/rich-media-json): Примеры JSON для редакторов rich text (TipTap, Quill, Slate)

## Связанные материалы

- [Определение API-контрактов, проверка схем и тестирование изменений](https://elysiatools.com/ru/hubs/api-contract-testing): Определите API-контракт, проверьте схемы и сохранённые payload, найдите риски совместимости и зафиксируйте приёмку.
- [Инструменты проверки JSON Schema и API-контрактов](https://elysiatools.com/ru/hubs/json-validate): Сравните в одном хабе проверку JSON Schema, проверку OpenAPI-ответов, mutation testing, стресс-тестирование контрактов и обнаружение ломающих изменений API.
- [Инструменты JSON для проверки, утилит и преобразования](https://elysiatools.com/ru/hubs/json-utility): Форматируйте, проверяйте, сравнивайте, объединяйте, преобразуйте, валидируйте, анализируйте и маркируйте JSON для API и данных.
