JSON и схемы

Массивы в JSON Schema: описание элементов, кортежи и валидация

Схема массива описывает как саму коллекцию (длину, уникальность), так и структуру каждого элемента внутри.

Опубликовано

Минимальная полезная схема

Опишите массив, затем его элементы

Только массив
{ "type": "array" }
Строковые элементы
{
  "type": "array",
  "items": { "type": "string" }
}

Интерактивная валидация

Найдите один некорректный элемент массива

Третий элемент нарушает повторяющуюся схему строковых элементов.

Schema: { "type": "array", "items": { "type": "string" } }
Data: ["red", "blue", 42]

Ожидаемый результат: Валидатор указывает на число с индексом 2; после замены 42 на "42" данные становятся корректными.

После исправления ошибок

Добавляйте только необходимые ограничения

Массивы объектов

Помещайте свойства объекта в схему элемента items, а не в корень массива.

Ограничения коллекции

Используйте minItems, maxItems и uniqueItems для правил на уровне списка.

Кортежи

В Draft 2020-12 ключевое слово prefixItems задает схемы для фиксированных первых позиций.

Проверьте схему

Валидация массивов в JSON Schema

Проверьте структуру массива объектов в JSON Schema Validator.

Открыть JSON Schema Validator →