При использовании следующей схемы
{
"$schema": "http://json-schema.org/schema#",
"definitions":{
"entity": {
"type": "object",
"properties": {
"parent": {"type": ["null","string"]},
"exclude": {"type": "boolean"},
"count": {"type": ["null","integer"]},
"EntityType": {"type": "string"},
"Children": {
"type": "array",
"items": {"$ref":"#/definitions/entity"}
}
}
}
},
"required": ["parent","EntityType","count"]
}
В этом предоставленном теле JSON
{
"parent": "null",
"EntityType": "test",
"count": "null",
"Children": [
{
"EntityType": "test",
"count": 3
},
{
"EntityType": "test"
}
],
"Extra": "somevalue"
}
Должно быть возвращено, что я предоставил недопустимый объект Json, однако это не кажетсячтобы сделать это.
Тем не менее, если бы мне не удалось получить корневой узел не удалось (удалив одно из обязательных полей), проверка работает и говорит, что я не предоставил обязательное поле.Есть ли причина, по которой я не могу проверить JSON рекурсивно?