Работа со схемой JSON в Python: методы и примеры

Для работы со схемой JSON в Python вы можете использовать библиотеку jsonschema, которая предоставляет методы проверки данных JSON на соответствие схеме. Вот несколько методов, которые вы можете использовать:

  1. jsonschema.validate(экземпляр, схема): этот метод проверяет данный экземпляр JSON на соответствие предоставленной схеме. Если экземпляр действителен, он возвращает None. В противном случае выдается jsonschema.ValidationErrorс подробной информацией об ошибках проверки.

Пример:

import jsonschema
# JSON instance
instance = {
    "name": "John Doe",
    "age": 30,
    "email": "johndoe@example.com"
}
# JSON schema
schema = {
    "type": "object",
    "properties": {
        "name": {"type": "string"},
        "age": {"type": "integer"},
        "email": {"type": "string", "format": "email"}
    },
    "required": ["name", "age"]
}
# Validate the instance against the schema
jsonschema.validate(instance, schema)
  1. jsonschema.Draft7Validator(schema): этот метод создает объект проверки для данной схемы JSON. Он позволяет выполнять более сложные задачи проверки, например перебор нескольких экземпляров или настройку процесса проверки.

Пример:

import jsonschema
# JSON schema
schema = {
    "type": "object",
    "properties": {
        "name": {"type": "string"},
        "age": {"type": "integer"}
    }
}
# Create a validator object
validator = jsonschema.Draft7Validator(schema)
# JSON instances
instances = [
    {"name": "John Doe", "age": 30},
    {"name": "Jane Smith", "age": "25"}  # Invalid instance
]
# Validate each instance
for instance in instances:
    errors = validator.iter_errors(instance)
    for error in errors:
        print(error.message)

Эти методы помогут вам начать проверку схемы JSON в Python с использованием библиотеки jsonschema.