Мы используем JSON для хранения некоторых настроек конфигурации.Например:
{
"source1": {
"name": "source1",
"standalone": false
},
"source2": {
"name": "source2",
"standalone": true
},
"source3": {
"name": "source3",
"standalone": true
}
}
Как видите, имена источников являются переменными и для удобства повторяются внутри объекта под свойством name
.
В настоящее время мы проверяем это, используясхема JSON выглядит следующим образом:
{
"$schema": "http://json-schema.org/draft-06/schema#",
"type": "object",
"patternProperties": {
"^\\w[-\\w_]*$": { "$ref": "#/definitions/source" }
},
"additionalProperties": false,
"definitions": {
"source": {
"type": "object",
"properties": {
"name": { "type": "string" },
"standalone": { "type": "boolean" }
},
"required": ["name", "standalone"],
"additionalProperties": false
}
}
}
Есть ли способ требовать, чтобы имя свойства совпадало со значением, используя схему JSON?Другими словами, есть ли способ убедиться, что следующий пример не проходит проверку?
{
"a": {
"name": "b",
"standalone": false
}
}