jsonschema
Используется для валидации json схемы. По умолчанию дополнительно указанные ключи (не существующие в схеме, но присутствующие в документе) не проверяются.
Исключения
jsonschema.exceptions.ValidationError - если документ не соответствует структуре
jsonschema.exceptions.SchemaError - если сама схема некорректна
Пример схемы:
schema = {
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "number"},
},
"required": ["name"],
}
Данная схема определяет json объект с 2 свойствами: name и age. Обязательное свойство name.
Ключевые слова
Для некоторых типов используются дополнительные ключевые слова.
| Ключевое слово | Описание |
| type |
Тип. Для корня часто object. string - строка number - число object - объект array - список |
| additionalProperties | Если True, то дополнительно указанные ключи приводят к исключению. |
Дополнительные ключевые слова для типов.
Тип array
| Ключевое слово | Описание |
| items |
Тип элементов списка. Пример:
|
| minItems | Минимальное количество элементов |
Тип object
| Ключевое слово | Описание |
| required |
Список обязательных ключей. Пример:
|
| properties |
Определяет ключи объекта и их тип. Пример:
|