驗證需要幫助找到這個模式的錯誤。它有一個操作符。 架構是在這裏:JsonSchema不與oneOf
`{
"type": "object",
"required": [
"type",
"body"
],
"properties": {
"type": {
"description": "type of the document to post",
"type": "string",
"enum": [
"123",
"456"
]
},
"body": {
"type": "object",
"description": "body",
"oneOf": [{
"$ref": "#/definitions/abc",
"$ref": "#/definitions/def"
}]
}
},
"definitions": {
"abc": {
"type": "array",
"description": "abc",
"properties" : {
"name" : { "type" : "string" }
}
},
"def": {
"type": "array",
"description": "users","properties" : {
"name" : { "type" : "string" }
}
}
}
}`
我的JSON是這樣的:
`{
"type": "123",
"body": {
"abc": [{
"name": "test"
}]
}
}`
它不與TV4驗證,我也試過這種online tool。它沒有一個操作符。否則,它不會驗證它的任何工具。
編輯:
閱讀的答案後,我修改了模式。新的模式是:
{
"type": "object",
"properties": {
"type": {
"description": "type of the document to post",
"type": "string",
},
"body": {
"type": "object",
"description": "body",
"properties": {
"customers": {
"type": "array"
}
},
"anyOf": [
{
"title": "customers prop",
"properties": {
"customers": {
"type": "array",
"description": "customers",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
}
}
}
}
}
]
}
}
}
和JSON是這裏
{
"type": "customer",
"body": {
"none": [
{
"name": "test"
}
]
}
}
但它驗證。我想執行的「客戶」或「用戶」在身上的一個。爲了測試我已經從用戶身上刪除了用戶。
PL幫助。