У меня есть два разных ответа JSON, каждый с разными именами полей, однако оба успешно проходят проверку с определенной схемой с использованием библиотеки jsonschema.
Вот определенная схема
query_schema = {
"type": "object",
"properties" : {
"pltfrm_nm": {"type" : "string"},
"srvr_nm": {"type": "string"},
"db_nm": {"type": "string"},
"tbl_nm": {"type": "string"},
"ip_addr_id": {"type": "string"},
"usr_id": {"type": "string"},
"sql_txt": {"type": "string"},
"timestmp": {"type": "string"},
},
}
и вот два разных ответа:
input = {'pltfrm_nm': 'p1', 'srvr_nm': 'server', 'db_nm': 'some db', 'tbl_nm': 'some table',
'ip_addr_id': '999.999.9999', 'usr_id': 'my id', 'sql_txt': "sql text here", 'timestmp': 'aaaa)'}
validate(instance=input, schema=query_schema)
input = {'why': 'p1', 'does': 'server', 'this': 'some db', 'still': 'some table',
'validate': '999.999.9999', 'i': 'my id', 'do': "sql text here", 'not': 'aaaa',
'understand': 'hello'}
validate(instance=input, schema=query_schema)
во втором входе я назвал все поля разными и также добавил новое поле understand
. Ни один из них не генерирует ошибку ValidationError. Вот библиотека: https://pypi.org/project/jsonschema/. Почему второй не выдает ошибку?