问题
将definitions放在当前的文档中,没有问题,放在外部文件中,根据官方文档的说明:
main.py文件
from jsonschema import validate
a = {
"type": "object",
"required": ["shipping_address"],
"properties": {
"shipping_address": {"$ref": "definitions.json#/address"}
}
}
ins = {"billing_address": 1, "shipping_address": 2}
validate(ins, a)
definitions.json文件
{
"adress": {
"type": "object",
"properties": {
"street_address": {"type": "string"},
"city": {"type": "string"},
"state": {"type": "string"}
},
"required": ["street_address", "city", "state"]
}
}
解决使用file
main.py文件
from jsonschema import validate
a = {
"type": "object",
"required": ["shipping_address"],
"properties": {
"shipping_address": {"$ref": "file:address.json"}
}
}
ins = {"billing_address": 1, "shipping_address": 2}
validate(ins, a)
address.json文件
{
"type": "object",
"properties": {
"street_address": {"type": "string"},
"city": {"type": "string"},
"state": {"type": "string"}
},
"required": ["street_address", "city", "state"]
}
这里需要一个definition需要写一个单独的文件,暂时没有找到多个definition写到一个json文件中的引用方法。