Я использую com.github.fge.jsonschema . Работа в Java.
Ниже приведена схема JSON.
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Employee",
"description": "employee description",
"type": "object",
"properties": {
"eid": {
"description": "The unique identifier for a emp",
"type": "integer"
},
"ename": {
"description": "Name of the emp",
"type": "string"
},
"qual":{
"$ref": "#/definitions/qualification"
}
},
"definitions": {
"qualification":
{
"description": "Qualification",
"type": "string"
}
}
}
, и это JSON для проверки по схеме.
{
"eid":1000,
"ename": "mrun",
"qualification": "BE"
}
Проблема в том, что он правильно проверяет тип (т. Е. Целое число или строку) для eid и ename, если мы передаем какие-либо неправильные данные. Например:
{
"eid":"Mrun", //should be Integer
"ename": 72831287, //should be String
"qualification": 98372489 //should be String
}
Если мы передадим неверный тип только для квалификации, то он будет подтвержден как истинный (т. Е. Он не подтвердит тип для квалификации, возможно, потому, что он вложенный).
Необходимо выполнить проверки для всего JSON.
Есть ли другое решение для проверки вложенных объектов в JSON?
Заранее спасибо.