JSON Schema - 使用JSON.Net的格式属性

时间:2015-02-17 23:37:53

标签: json.net jsonschema

我们有一个带格式属性的JSON模式,下面的代码段为:

"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" ]
        } }

我们正在使用NewtonSoft的Json.Net解析器处理它。这用于正确解析以前版本的框架(v6.x),它只支持draft 3.使用支持draft 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框架在这方面不向后兼容是否正确?或者它在以前版本中的工作方式是错误的?它将帮助我们相应地处理问题。谢谢。

1 个答案:

答案 0 :(得分:1)

在草案3中,format属性用作字符串,而不是字符串数组。