JSonschema проверить, если ключ существует - PullRequest
0 голосов
/ 09 октября 2018

У меня есть JSON:

{"price" : 12}

и схема:

schema = {
    "type" : "object",
    "properties" : {
        "price" : {"type" : "number"}
    },
}

Он работает для проверки типа значения validate({"price" : 12}, schema).Однако JSON, такие как:

{"price_blabla" : 'blabla'}

, также считаются действительными.Как мне изменить схему, чтобы она проверяла, содержит ли JSON определенные ключи?В основном у меня много JSON, и мне нужно получить все, которые имеют определенный шаблон.

1 Ответ

0 голосов
/ 09 октября 2018
  • В jsonschema есть свойство с именем 'required', с помощью этого поля мы можем проверить, содержит ли JSON конкретные ключи.

  • Отсутствует обязательное свойство поляделает документ JSON недействительным.

Пример:

schema = {
    "type" : "object",
    "properties" : {
        "price" : {"type" : "number"}
    },"required": ["price"]
}

validate({"price_blabla" : 'blabla'}, schema)

Это приведет к следующей ошибке.

jsonschema.exceptions.ValidationError: 'price' is a required property

Ссылка:

https://json -schema.org / понимание-json-схема / ссылка / object.html # требуется

...