2015-02-17 2 views
1

У нас есть JSON схемы с форматом недвижимости, фрагмент кода ниже:JSON Schema - формат недвижимости с Json.NET

"properties": { 
     "expireDateTime": { 
     "description": "Date when the time will expire. If granularity is at the date level then YYYY-MM-DD is passed. If the granularity is at the hour/minute level then the date time format is YYYY-MM-DDThh:mm:ss+-hh:mm", 
     "type": "string", 
     "format": [ "date-time", "date" ] 
     } } 

Мы обрабатываем его с помощью парсера Json.NET из NewtonSoft. Это использовалось для правильного анализа предыдущей версии фреймворка (v6.x), который поддерживал только проект 3. В последней версии фреймворка, поддерживающего проект 4, я получаю ошибку, формат которой не может быть массивом.

Я огляделся и ничего не увидел в спецификации проекта 3, в которой говорится, что формат может или не может быть массивом. https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23

Однако в проекте 4 четко указано, что формат должен быть строкой. http://json-schema.org/latest/json-schema-validation.html#anchor79

Правильно ли я полагаю, что структура Json.Net не соответствует обратной совместимости в этом аспекте? Или был так, как он работал в предыдущих версиях ошибочно? Это поможет нам справиться с этой проблемой. Благодарю.

+0

у вас есть недостающая закрывающая фигурная скобка? –

+0

@ nick-s Да, да. Я исправил это, спасибо. – Apeksha

ответ

1

В проекте 3 свойство format предназначено как строка, а не массив строк.

+0

Спасибо Джеймсу. Поэтому я предполагаю, что это был надзор в предыдущей версии Json.Net. – Apeksha

+0

Я не уверен, о чем вы говорите. Json.NET всегда поддерживал только «формат» в виде строки. –

+0

Фрагмент JSON, который я предоставил, используется для работы. Я не знаю, почему и как. – Apeksha

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