У меня есть схема с подусловиями, когда я проверяю схему на предмет любого недействительного файла json в онлайн-инструменте, он выдает ошибку, но когда я использую метод bool valid = clientJsonObject.IsValid(schema, out test);
в своем проекте, он не выдает никакой ошибки и говорит, что есть ошибок нет. Может кто-нибудь объяснить, почему это происходит.
пример json схемы -
Это всего лишь часть схемы Json, где есть условия, если / иначе я использую c# для моего проекта и библиотеки Newtonsoft isValid.
{
"if": {
"properties": { "Diag": { "enum": [ 99 ] } }
},
"then": {
"properties": { "OtherDiag": { "type": "string" } },
"required": [ "Diag2" ]
},
"else": {
"properties": { "Diag3": { "type": "null" } }
}
},
{
"if": {
"properties": { "Sec": { "pattern": "^(?!.*\\b(\\d+)\\b.*\\b\\1\\b)((^0$)|1|2|3|4|5|20|31|32)(;(0|1|2|3|4|5|20|31|32))*$" } }
},
"then": {
"properties": { "Other2": { "type": "null" } }
},
"else": {
"properties": { "OtherDiag": { "type": "string" } },
"required": [ "OtherDiag" ]
}
}