python - json模式中的引用问题
问题描述
我在使用对另一个模式和 Python 的引用来验证 JSON 模式时遇到了麻烦。我有两个架构(我可以创建的最简单的架构):
父.json
{
"$ref": "REFERENCE_TO_CHILD_JSON"
}
child.json
{
"type": "number"
}
所以,如果我理解正确,{5}
这个验证器会接受 JSON,而不是 JSON {'hello'}
。我将这两个 JSON、上面的两个 json 模式和以下代码放在同一个文件夹中:
python_code.py
from jsonschema import validate
import json
with open('parent.json', 'r') as f:
my_schema = json.load(f)
with open('json_A.json', 'r') as f:
my_json = json.load(f)
validate(my_json, my_schema)
现在,我的问题是:我必须在父 Json 模式中插入什么作为引用?
- 我尝试使用子架构的名称(所以,只有
child.json
),但它给出了一个错误:jsonschema.exceptions.RefResolutionError: unknown url type
. - 我试过了
file:child.json
,它给出了一个错误:jsonschema.exceptions.RefResolutionError: urlopen error [WinError 2] File not found
。
难道我做错了什么?
解决方案
推荐阅读
- r - 如何使这个 XML 代码生成粗体文本?
- python - 我正在尝试创建功能,当有人在消息上发送链接时,它将被删除
- java - 有什么方法可以通过 java.eval() 方法减轻代码注入的缺点?
- reactjs - Material UI 主题覆盖问题
- android - 是否可以在 Android Studio 中编辑第三方应用程序?
- python-3.x - 在近乎实时的python中处理套接字数据
- python - 更改图例的 edgecolor 和 textcolor
- javascript - 需要在我的代码中添加或修复什么才能将用户信息提交和发送到我的 MySQL 数据库?
- java - 编辑并重新运行 Spring Boot 单元测试,无需重新加载上下文以加快测试速度
- laravel - 在 laravel 友谊系统中合并两个集合