使用$ref
,並提供一個絕對路徑作爲值
例子:
文件路徑:E:\JSONSchema\Files\details.json
{
"$schema": "http://json-schema.org/draft-04/schema#",
"reuse": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"tagid": {
"type": "string"
}
},
"required": [
"id",
"tagid"
],
"additionalProperties": false
}
}
}
如果我想在另一個文件中重用的代碼示例看起來像
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"IDs": {
"$ref": "file:/E:/JSONSchema/Files/details.json#/reuse"
}
}
}
實現這一目標的另一種方法是使用id
。 檢查下面的代碼。
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "file:/E:/JSONSchema/Files/details.json",
"type": "object",
"properties": {
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"IDs": {
"$ref": "#/reuse"
}
}
}
來源
2016-12-15 06:42:31
KC7
與您的問題分開,您的示例架構中出現錯誤。該模式無效,因爲「必需」屬性顯示爲「屬性」列表的一個元素。 「需要」需要是架構對象的頂級屬性,在「屬性」的同級別。我爲您的問題提交了一個修改,並且剛剛獲得批准。有關記錄,這裏有一個要點,顯示在JSON Schema Lint中:http://jsonschemalint.com/#/version/draft-05/markup/json?gist=8a3c1b3b0264899879c1fecab6ba8ed4 –