2014-10-06 46 views
0

我有一个JSON对象:JSON架构在JSON

{ 
    "name" : "car", 
    "color" : "blue" 
} 

而一个JSON架构,其用于验证它(在此未指定)。

XML允许您通过“xsi:schemaLocation”(名称空间前缀可能不同)在XML文档本身中包含对extern XML Schema Definition进行验证的引用。

是否有一种等同的方式在JSON对象中包含对JSON模式的引用?

回答

2

从数据到描述它的模式的链接通常被认为是“元数据”,因此通常不在数据本身中。

如果你工作在HTTP,您可以:

  • 使用 “轮廓=” 参数的Content-Type头,或
  • 使用 “链接:” 头,有rel="describedby"到链接到模式。

第二种选择是可取的。

如果你从一个文件或其他东西加载,那么它没有被定义。在您自己的应用程序中,您可以完全自由地定义像"$schema"这样的参考模式。虽然其他工具不会自动提取,但对其他开发人员来说,显然你在做什么。

+0

[Json-schema.org](http://json-schema.org/latest/json-schema-core.html#anchor33)表示,如果MIME类型存在于标题中,建议添加一个配置文件将模式URI作为Content-Type标头的值。添加链接和配置文件都有问题吗? – 2014-10-07 08:06:45

+0

不是我能看到的,尽管有些工具可能会添加模式两次(或其他),这可能会导致重复的链接等。 – cloudfeet 2014-10-07 11:34:50

+0

您有什么打算说'Link:'方式优于'Content-Type'办法? – 2014-10-07 15:47:12