当前位置: 移动技术网 > IT编程>脚本编程>Python > python使用jsonscheme引用ref报错unknown url type: definitions.json

python使用jsonscheme引用ref报错unknown url type: definitions.json

2018年06月06日  | 移动技术网IT编程  | 我要评论

朱丽千,有盟,龙猫多少钱一只

问题

将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文件中的引用方法。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网