Проблема со схемой JSON
Я пытаюсь задать правильную JSON-схему для валидации JSON-структуры ниже:
[
{
"20220217.txt": {
"file_initial_mdtm": 20220220012521,
"file_initial_size": 1986,
"file_modified_mdtm": 20220220012823,
"file_modified_size": 1987,
"file_downloaded": true,
"file_modified": true,
"file_uploaded": true,
"file_initial_hash": "123456efghih",
"file_modified_hash": "456786efghih"
}
},
{
"20220218.txt": {
"file_initial_mdtm": 20220220012521,
"file_initial_size": 1983,
"file_modified_mdtm": 20220220012823,
"file_modified_size": 1987,
"file_downloaded": true,
"file_modified": true,
"file_uploaded": true,
"file_initial_hash": "123456efghih",
"file_modified_hash": "456786efghih"
}
}
]
Каким-то образом валидация всегда успешна (jsonschema.validate()) даже если я меняю типы атрибутов группы properties, чего по дизайну быть не должно.
__json_schema = {
'type': 'array',
'items': {
"type": "object",
"patternProperties": {
"^[0-9]+.txt$": {
"type": "object",
'properties': {
'file_initial_mdtm': {'type': 'number'},
'file_initial_size': {'type': 'number'},
'file_modified_mdtm': {'type': 'number'},
'file_modified_size': {'type': 'number'},
'file_downloaded': {'type': 'boolean'},
'file_modified': {'type': 'boolean'},
'file_uploaded': {'type': 'boolean'},
'file_initial_hash': {'type': 'string'},
'file_modified_hash': {'type': 'string'}
}
}
}
}
}
Очевидно, в схеме какие-то проблемы, но я не могу до конца понять, какие именно. Прошу помощи :-)