python使用jsonscheme引用ref报错unknown url type: definitions.json
Posted for-you
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python使用jsonscheme引用ref报错unknown url type: definitions.json相关的知识,希望对你有一定的参考价值。
问题
将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"]
}
这里需要一个definition需要写一个单独的文件,暂时没有找到多个definition写到一个json文件中的引用方法。
以上是关于python使用jsonscheme引用ref报错unknown url type: definitions.json的主要内容,如果未能解决你的问题,请参考以下文章