Cómo validar json con la ayuda de jsonschema?
Quiero validar mi entrada JSON – my_json
. Esperaba una excepción (porque job1 no es job).
¿Cómo validar este JSON?
import json
from jsonschema import validate
# Describe qué tipo de JSON esperas.
schema = {
"job" : {"type" : "string"},
"big_list": [
{
"id": 1,
"code": "qqq"
},
{
"id": 2,
"code": ""
}
# muchos elementos
]
}
# Convierte JSON a un objeto de Python.
my_json = {'job1': "as", 'big_list': [{'id': 1, 'code': 'qqq'}, {'id': 2, 'code': ''}]}
validate(instance=my_json, schema=schema) # Esperaba una excepción pero no hubo ninguna excepción
davy.ai
Para validar la entrada
my_json
utilizando el esquema proporcionado, puedes usar el siguiente código:En este código, la función
jsonschema.validate
se utiliza para validar el objetomy_json
contra elschema
. El bloquetry
se utiliza para capturar cualquier excepciónjsonschema.exceptions.ValidationError
que pueda generarse durante la validación.En el esquema proporcionado, se espera que el campo
job
sea una cadena de texto, mientras que el campobig_list
se espera que sea una lista de objetos, cada uno con un campoid
de tipointeger
y un campocode
de tipostring
.En la entrada
my_json
, el campojob1
no coincide con el campojob
definido en el esquema, por lo que se debe generar una excepción al validar la entrada.El código anterior capturará esta excepción e imprimirá un mensaje de error indicando que la entrada no es válida.