Может ли JSON Validator проверять кандидатов на наличие определений типов для проверки себя?
У меня есть DML, который поддерживает пользовательские структуры, такие как "customType1" ниже и которые могут быть использованы для определения типа списка свойств:
{
"types": {
"customType1" : {
"var1" : "string",
"var2" : "int"
}
.
.
.
},
"properties": {
"prop1" : {
"type": "customType1",
"value": {
"var1" : "Hello",
"var2" : 123
},
"prop2" : {
"type" : "String",
"value" : "www.google.com"
}
.
.
.
}
}
Можно ли написать схему JSON, которая может оценить prop1
чтобы проверить его по структуре, определенной в customType1
? Описание пользовательских типов, указанных в types
не будет известно априори, только во время оценки.
Если это выходит за рамки возможностей спецификации JSON Schema, есть ли другие предложения, как это проверить?
1 ответ
Вы можете сделать это, используя ссылку JSON:
{
"types": {
"customType1" : {
"var1" : "string",
"var2" : "int"
}
.
.
.
},
"properties": {
"prop1" : {
"$ref" : "#/types/customType1"
},
"prop2" : {
"type" : "String",
"value" : "www.google.com"
}
.
.
.
}
}
это "указатель", обозначающий место схемы свойств.
(Примечание: в схеме JSON мы обычно используем ключевые "определения" вместо "типов" по соглашению).