Я пытаюсь войти в определения JSON-схемы и хотел выяснить, как добиться более глубокой уникальности объекта в определении схемы.Пожалуйста, посмотрите на следующее определение примера, в данном случае простой ввод-вывод модуля.
{
"$schema": "http://json-schema.org/draft-06/schema#",
"type": "object",
"required": ["modulIOs"],
"properties": {
"modulIOs": {
"type": "array",
"uniqueItems": true,
"items": {
"allOf": [
{
"type": "object",
"required": ["ioPosition","ioType","ioFunction"],
"additionalProperties": false,
"properties": {
"ioPosition": {
"type": "integer"
},
"ioType": {
"type":"string",
"enum": ["in","out"]
},
"ioFunction": {
"type":"string"
}
}
}
]
}
}
}
}
Когда я проверяю следующее с iE draft-06, я получаю положительную проверку.
{"modulIOs":
[
{
"ioPosition":1,
"ioType":"in",
"ioFunction":"240 V AC in"
},
{
"ioPosition":1,
"ioType":"in",
"ioFunction":"24 V DC in"
}
]
}
Я знаю, что проверка прошла успешно, потому что валидатор делает то, для чего он предназначен - он проверяет структуру JSON-объекта, но есть возможность проверить данные значения объекта в более глубоких объектах илимне нужно выполнить проверку в другом месте?