【问题标题】:JSON Schema - format property with JSON.NetJSON Schema - 使用 JSON.Net 的格式属性
【发布时间】:2015-02-17 23:37:53
【问题描述】:

我们有一个带有格式属性的 JSON 模式,sn-p 下面:

"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),仅支持草案 3。使用支持草案 4 的最新版本的框架,我收到格式不能是数组的错误。

我环顾四周,在草案 3 规范中没有看到任何说明格式可以或不能是数组的内容。 https://datatracker.ietf.org/doc/html/draft-zyp-json-schema-03#section-5.23

但是,草案 4 明确规定格式必须是字符串。 http://json-schema.org/latest/json-schema-validation.html#anchor79

我是否正确假设 Json.Net 框架在这方面不向后兼容?或者它在以前版本中的工作方式是错误的?它将帮助我们相应地处理问题。谢谢。

【问题讨论】:

  • 您是否缺少右花括号?
  • @nick-s 是的,我愿意。我已经更正了,谢谢。

标签: json.net jsonschema


【解决方案1】:

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

【讨论】:

  • 谢谢詹姆斯。所以我想这是以前版本的 Json.Net 的疏忽。
  • 我不确定你指的是什么。 Json.NET 一直只支持“格式”作为字符串。
  • 我提供的 JSON sn-p 可以正常工作。我不确定为什么或如何。
猜你喜欢
  • 2011-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-03
  • 1970-01-01
  • 1970-01-01
  • 2012-07-28
  • 1970-01-01
相关资源
最近更新 更多