У меня есть набор jsonschema совместимых документов.Некоторые документы содержат ссылки на другие документы (через атрибут $ref
).Я не хочу размещать эти документы так, чтобы они были доступны по HTTP URI.Таким образом, все ссылки являются относительными.Все документы живут в локальной структуре папок.
Как я могу python-jsonschema
понять, как правильно использовать мою локальную файловую систему для загрузки ссылочных документов?
Например, если у меня есть документ симя файла defs.json
, содержащее некоторые определения.И я пытаюсь загрузить другой документ, который ссылается на него, например:
{
"allOf": [
{"$ref":"defs.json#/definitions/basic_event"},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": ["page_load"]
}
},
"required": ["action"]
}
]
}
Я получаю сообщение об ошибке RefResolutionError: <urlopen error [Errno 2] No such file or directory: '/defs.json'>
Может быть важно, чтобы я работал в Linux.
(Я пишу это как вопросы и ответы, потому что мне было трудно понять это и заметил, что у других людей тоже возникли проблемы .)