Проверить схему Json

Я получаю сообщение об ошибке при использовании json-schema-validator API v4. Я пытаюсь сделать:

final JsonValidator validator = new JsonValidator(JsonLoader.fromPath("schema.json"));
ValidationReport report = validator.validate(data);

но каждый раз я получаю сообщение об ошибке: # [схема]: неизвестные ключевые слова контакты

schema.json :
{
    "contacts": {
        "description": "The list of contacts",
        "type": "array",
        "optional": true,
        "items": {
            "description": "A contact",
            "type": "object",
            "properties": {
                "givenName": {
                    "description": "Person's first name",
                    "type": "string",
                    "maxLength": 64,
                    "optional": true
                },
                "familyName": {
                    "description": "A person's last name",
                    "type": "string",
                    "maxLength": 64,
                    "optional": true
                }
            }
        }
    }
}

С уважением


person wedoud    schedule 19.07.2012    source источник


Ответы (1)


Насколько я понимаю, ваши данные выглядят так-> json_data={"contacts":array}. Если это так, в основном ваша самая внешняя вещь - это объект (в основном сам полный объект json), для которого вам «возможно» потребуется определить схему, начиная с «корня верхнего уровня» вашего json as-> schema.json:

{
"description": "the outer json",
        "type": "object",
        "properties": {
            "contacts": {
                          "description": "The list of contacts",
                          "type": "array",
                          "optional": true,
                          "items": {
                                     "description": "A contact",
                                     "type": "object",
                                     "properties": {
                                     "givenName": {

etc.....

Простите меня за грубые отступы. Кроме того, я не проверял это, посмотрите, работает ли это, если нет, я бы посоветовал вам предоставить ваши json_data (по крайней мере, пример) и примеры API, чтобы можно было попытаться найти, где что не так.

person raghav    schedule 03.12.2012