python使用jsonscheme引用ref报错unknown url type: definitions.json
程序员文章站
2022-04-10 11:37:25
问题 将definitions放在当前的文档中,没有问题,放在外部文件中,根据官方文档的说明: main.py文件 definitions.json文件 解决使用file main.py文件 这里的file使用的是相对路径,相对当前运行目录。 address.json文件 json文件中不能再使用r ......
问题
将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)
这里的file使用的是相对路径,相对当前运行目录。
address.json文件
{ "type": "object", "properties": { "street_address": {"type": "string"}, "city": {"type": "string"}, "state": {"type": "string"} }, "required": ["street_address", "city", "state"] }
json文件中不能再使用ref,找不到,仍然会报错找不到URL
这里需要一个definition需要写一个单独的文件,暂时没有找到多个definition写到一个json文件中的引用方法。