0
鮑勃先生既可以是開心的,也可以是難過的,但不是兩者兼而有之。他可能沒有指定他的心情。因此,這兩個屬性,傷心和快樂是可選的。如何確保兩個布爾屬性的值不應該同時爲真?
什麼是拒絕只有以下JSON
{
"name": "Bob",
"sad": true,
"happy": true
}
這裏一個JSON模式的失敗嘗試:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"happy": {
"type": "boolean",
"default": false
},
"sad": {
"type": "boolean",
"default": false
}
},
"not": {
"allOf": [
{
"properties": {
"happy": {
"enum": [
true
]
}
}
},
{
"properties": {
"sad": {
"enum": [
true
]
}
}
}
]
}
}
以上模式失敗的情況下,房地產「傷心」是真實的財產「快樂「 不見了。
在這種情況下,擁有可以快樂,悲傷或無效的「情緒」會更有意義嗎? – jonrsharpe
嗨@jonrsharpe不,我們不能改變模型。它就像那樣.. :( 你可以把它當做*如何確保兩個屬性的價值永遠不會是真的同時?* – Nilesh