Схема должна проверять следующие объекты json и не должна допускать дополнительного свойства.Как написать схему json для обеспечения условного существования других свойств?
{
"id": "11111111111111111111111111111111",
"status": "employed",
"company_name": "Google"
}
{
"id": "00000000000000000000000000000000",
"status": "unemployed"
}
Схема проекта v4:
{
"type": "object",
"additionalProperties":false,
"required": [
"status",
"id"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string",
"enum":["unemployed", "employed"]
},
"company_name": {
"type": "string"
}
},
"dependencies": {
"company_name": {
"properties": {
"status": {
"enum": [
"employed"
]
}
}
}
}
}
Эта схема выглядит правильно, но это не делает недействительным следующий объект JSON.
{
"id": "00000000000000000000000000000001",
"status": "employed"
}
Он должен быть недействительным, поскольку «статус» «используется», но не обязательно указано свойство «company_name».
см. Http://stackoverflow.com/questions/41837518/removing-the-duplication-in-a-json-schema-that-uses-oneof-v4-or-v5/41838321?noredirect=1#comment70862053_41838321 – esp
@esp. Неясно, не там. Пожалуйста, уточните. Согласно моему наблюдению: я использую последний (лучший) :) Есть ли что-то, что мне не хватает – Nilesh
@esp Я добавил ответ. Пожалуйста, добавьте еще один ответ на **, как это сделать, используя зависимости. ** – Nilesh