python 使用schema对未知的多级嵌套json进行递归校验代码示例
时间: 2024-02-23 14:34:31 浏览: 216
以下是使用Python的jsonschema库对未知的多级嵌套json进行递归校验的代码示例:
```python
from jsonschema import validate, Draft7Validator
def validate_schema(data, schema):
if isinstance(data, dict):
for key, value in data.items():
if isinstance(value, (dict, list)):
validate_schema(value, schema)
elif isinstance(data, list):
for item in data:
validate_schema(item, schema)
try:
Draft7Validator(schema).validate(data)
except Exception as ex:
raise Exception(f"Validation error: {ex}")
```
这个函数接受两个参数:要校验的数据和JSON Schema。它首先递归遍历数据,如果发现一个字典或列表,就继续递归遍历其内部元素。然后,它使用jsonschema的Draft7Validator来验证数据是否符合JSON Schema。
如果数据不符合JSON Schema,函数将引发一个异常,包含有关验证错误的详细信息。如果数据符合JSON Schema,则函数将正常退出。
阅读全文