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.