Я читал RFC, касающиеся указателей JSON Schema и JSON, но я все еще пытаюсь понять, как правильно ссылаться на другие документы.
Допустим, у меня есть следующие файлы (на диске):
/foo/bar/schema/base.json
/foo/bar/schema/model/model.json
base.json так:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "/schema/base",
"title": "Base Response",
"description": "Schema descriptions of common properties of a response",
"type": [ "object" ],
"definitions": {
"data": {
"descrpition": "The response data is encapsulated within here",
"example": "true",
"type": [ "object", "array", "boolean", "null" ]
}
},
"properties": {
"data": { "$ref" : "#/definitions/data" }
}
}
Файл model.json что-то вроде этого:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "/schema/model/model",
"type": "object",
"$ref": "/schema/base.json"
}
Значение $ ref в model.json - это то, о чем я прошу. Мое понимание стандарта заключалось в том, что между id и $ ref документа мы должны найти документ.
В качестве альтернативы, я задавался ли что-то вроде:
"$ref": "../../base.json"
бы работать?
Но ни одно из этих решений не работает, используя либо Python, либо библиотеки PHP, которые я пробовал. Я не уверен, где я ошибаюсь?
Отличное объяснение - спасибо. Я думаю, что основная часть, на которую я упала, - это значение поля ID, а также тонкости данных библиотек. –