的模式數量限制有沒有一種方法,創建一個JSON模式,限制可能會出現一個對象是多少? 或者確定一個對象是唯一的?的Json同一對象
最後,我想是這樣
{
"days": {
"monday": {
"schedule": {
"start_time": "23:35"
}
},
"tuesday": {
"schedule": {
"start_time": "23:23"
}
}
}
}
在此JSON,每天應只出現一次。就像每天一次開始時間一樣。
到目前爲止,我下面的模式,但沒有成功都嘗試過。 有了這個模式,我可以在我的json中有多個「星期一」對象,並且模式仍然有效。但是我正在尋找的是一個不適用於多個對象的模式。
{
"$schema": "http://json-schema.org/schema#",
"title": "DayScheduler",
"type": "object",
"required": [
"days"
],
"properties": {
"days": {
"monday": {
"$ref": "#/definitions/scheduler"
},
"tuesday": {
"$ref": "#/definitions/scheduler"
},
"wednesday": {
"$ref": "#/definitions/scheduler"
},
"thursday": {
"$ref": "#/definitions/scheduler"
},
"friday": {
"$ref": "#/definitions/scheduler"
},
"saturday": {
"$ref": "#/definitions/scheduler"
},
"sunday": {
"$ref": "#/definitions/scheduler"
}
}
},
"definitions": {
"scheduler": {
"type": "object",
"required": [
"schedule"
],
"properties": {
"schedule": {
"type": "object",
"required": [
"start_time"
],
"properties": {
"start_time": {
"type": "string",
"pattern": "^([01]?[0-9]|2[0-3]):[0-5][0-9]"
}
}
}
}
}
}
}
有沒有辦法用json-schema實現這一點?
*沒有成功可言* - 你的意思是這不是成功的?驗證的行爲不像預期的那樣?你得到一個錯誤?什麼? –
更新了我的問題。 有了這個模式,我可以在我的json中有多個「星期一」對象,並且模式仍然有效。但是我正在尋找的是一個不適用於多個對象的模式。 – pan