Как найти нарушающие схему ключи в словаре с помощью jsonschema - PullRequest
1 голос
/ 26 марта 2019

У меня есть словарь, который я проверяю по схеме. Есть ли способ получить ошибочный ключ, который вызывает ошибку проверки?

Я пробовал свойства ValidationError, заданные здесь .

Свойство message хорошее, но мне нужен ключ, а не строковое описание ошибки.

schema = {
    "type" : "object",
    "properties" : {
    "price" : {"type" : "number"},
    "name" : {"type" : "string"},
    },
    "additionalProperties": False,
}
try:
    validate(instance={"name" : "Eggs", "price" : 123, "": True}, schema=schema,)
except ValidationError, e:
    print e.message

Фактический результат Дополнительные свойства не разрешены ('' было неожиданно)

Ожидаемый результат (возможно, с использованием другого свойства) ''

...