Мне нужно проверить схему JSON, которую я получаю из запроса API.Для этого я создаю некоторый тестовый сценарий.
def get_request():
r = requests.post(*some request*)
return r
"""The schema which needs to be validated:"""
tc = TypeChecker()
my_json = get_request()[0]
schema = {
"type": "array",
"items": {
"id": {"type": "number"},
'name': {"type": "string"},
"launchAlias": {"type": "string"},
"imsGameType": {"type": "string"},
"liveGameType": {"type": "string"},
"tableColor": {"type": "string"},
"dedicated": {"type": "boolean"},
"status": {"type": "string"},
"language": {"type": "string"},
"languageFlagImageUrl": {"type": "string"},
"dynamicImageUrl": {"type": "string"},
"asaAlternativeImage": {"type": "string"},
"dealer": {"type": "array"},
"dealerName": {"type": "string"},
"dealerPictureUrl": {"type": "string"},
"asaCompliant": {"type": "string"},
"platforms": {"type": "array"},
"playerCount": {"type": "array"},
},
}
"""Schema validation"""
tc.is_type(instance=my_json["name"], type='string')
Я ожидаю, что получить вывод будет просто: «Процесс завершен с кодом завершения 0». Попробовал несколько вариантов для других экземпляров, таких как «type = string / str /число / целое число / массив и т. д. "Всегда получаю одну и ту же ошибку
Но я всегда получаю:
Traceback (последний вызов был последним): файл "C: \ Users \ vvel \ PycharmProjects \ без названия \ venv \ lib \ site-packages \ jsonschema_types.py ", строка 91, в is_type fn = self._type_checkers [тип] Файл" C: \ Users \ vvel \ PycharmProjects \ без названия \ venv \ lib \ site-packages \ pyrsistent_pmap.py ", строка 71,в getitem вернуть PMap._getitem (self._buckets, key) Файл "C: \ Users \ vvel \ PycharmProjects \ без названия \ venv \ lib \ site-packages \ pyrsistent_pmap.py", строка 68, в _getitemподнять KeyError (key) KeyError: 'string'
Во время обработки вышеупомянутого исключения произошло другое исключение:
Traceback (последний вызов был последним): Файл "C: /Users/vvel/PycharmProjects/untitled/asd.py ", строка 58, в файле validate_object ()" C: /Users/vvel/PycharmProjects/untitled/asd.py ", строка 54, в validate_object tc.is_type (экземпляр)= my_json ["name"], type = 'string') Файл "C: \ Users \ vvel \ PycharmProjects \ без названия \ venv \ lib \ site-packages \ jsonschema_types.py ", строка 93, в is_type повысить UndefinedTypeCheck (тип) jsonschema.exceptions.UndefinedTypeCheck: тип 'string' неизвестен для этой проверки типов