2017-02-16 1 views
1

вот моя схема JSON файлnewtonsoft JsonSchema.Parse не удалось

{ 
"$schema": "http://json-schema.org/draft-04/schema#", 
"title": "BootNotificationResponse", 
"type": "object", 
"properties": { 
    "status": { 
     "type": "string", 
     "enum": [ 
      "Accepted", 
      "Pending", 
      "Rejected" 
     ] 
    }, 
    "currentTime": { 
     "type": "string", 
     "format": "date-time" 
    }, 
    "interval": { 
     "type": "number" 
    } 
}, 
"additionalProperties": false, 
"required": [ 
    "status", 
    "currentTime", 
    "interval" 
] 
} 

и я попытался коды

 string file = File.ReadAllText(@"../../json/BootNotificationResponse.json"); 

     Console.WriteLine(file); 

     JsonSchema.Parse(file); 

точек расположения файла, JSON схемы.

было исключение.

System.ArgumentException: Can not convert Array to Boolean. 

Я следовал примеру кода сайта newtonsoft.

Как я могу решить эту ошибку?

Прокомментировать

спасибо.

ответ

2

Используйте NewtonSoft's Online Schema Validator, и вы увидите «Обязательные свойства отсутствуют у объекта: status, currentTime, interval». Вам нужно будет удалить из вашей схемы следующее: чтобы она работала для этой реализации.

"required": [ 
"status", 
"currentTime", 
"interval" 
] 

или если вы хотите, чтобы исправить это вам нужно будет обновить схему JSON, чтобы включить определения, как

{ 
    '$schema': 'http://json-schema.org/draft-04/schema#', 
    'title': 'BootNotificationResponse', 
    'definitions': { 
     'BootNotificationResponse': { 
      'type': 'object', 
      'properties': { 
       'status': { 
        'type': 'string', 
        'enum': [ 
         'Accepted', 
         'Pending', 
         'Rejected' 
        ] 
       }, 
       'currentTime': { 
        'type': 'string', 
        'format': 'date-time' 
       }, 
       'interval': { 
        'type': 'number' 
       } 
      }, 
      'additionalProperties': false, 
      'required': [ 
       'status', 
       'currentTime', 
       'interval' 
      ] 
     } 
     } 
    } 
+0

К сожалению, я пропустил «}» положить в JSon схеме (Editted) и я попытался сайт с этим json { «статус»: «Принято», «currentTime»: «2013-02-01T20: 53: 32.486Z», «Интервал»: 300 } для меня не было никакой ошибки. – user3773632

+0

, но все же есть ошибка с json-схемой, которую я опубликовал в кодах. – user3773632

+0

@ user3773632 - Я не уверен, что вы имеете в виду «есть ошибка с json-схемой, которую я разместил в кодах». Если вы хотите, чтобы ваша исходная схема работала, вам нужно удалить свойство «требуется» с помощью связанного с ним массива или использовать схему, использующую свойство «определения» для инкапсуляции схемы. –

Смежные вопросы