繁体   English   中英

如何在 jsonschema 的帮助下验证 json?

[英]How to validate json with help of jsonschema?

我想验证我的 json 输入 -- my_json 我预计会出现异常(因为 job1 不是工作。

如何验证此 json?

import json
from jsonschema import validate

# Describe what kind of json you expect.
schema = {
    "job" : {"type" : "string"},
    "big_list": [
    {
        "id": 1,
        "code": "qqq"
    },
    {
        "id": 2,
        "code": ""
    }
    # many items
    ]
}

# Convert json to python object.
my_json = {'job1': "as", 'big_list': [{'id': 1, 'code': 'qqq'}, {'id': 2, 'code': ''}]}
validate(instance=my_json, schema=schema) # I expected exception, but have no exceptions

您正确地进行了测试,但架构错误。 架构应该是这样的。 您可以在此处查看 json 架构文档

import json
from jsonschema import validate

# Describe what kind of json you expect.
schema = {
    "type" : "object",
    "properties" : 
    {
        "job" : {"type" : "string"},
        "big_list" : {"type" : "object"},
     }
}

# Convert json to python object.
my_json = {'job1': "as", 'big_list': [{'id': 1, 'code': 'qqq'}, {'id': 2, 'code': ''}]}
valid_json = {'job1': "as", 'big_list': {'id': 1, 'code': 'qqq'}}
validate(instance=valid_json, schema=schema) # 
print('valid json has passed')
validate(instance=my_json, schema=schema) # this should raise an error

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM