我们有一个带格式属性的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框架在这方面不向后兼容是否正确?或者它在以前版本中的工作方式是错误的?它将帮助我们相应地处理问题。谢谢。
答案 0 :(得分:1)
在草案3中,format
属性用作字符串,而不是字符串数组。