我是Json Schema的新手,但过去在xsd(xml模式)上做过很多工作。
使用xml模式,可以在一个人的xml文档中标记一个元素
带有“ schemaLocation”属性。验证xml可以使用此属性
解析器,以验证元素的内容和结构是否与其元素关联
模式。在xml中,您可以执行以下操作:
<animal
xsi:schemaLocation="
http://www.zippy.com
http://foo.bar.com/animal.xsd">
type="dog"
name="rover"/>
我想知道:在JSON模式中有一些标准的方法吗?
我在规范中找不到任何东西,或者
我看过的教程。
我希望可能是这样的:
{
"schema": "http://foo.bar.com/animal.schema.json",
"animal": {
"type": "dog",
"name": "rover",
}
}
我的目标是让我的REST服务返回的每个JSON文档都包含一个注释 (属性“模式”或类似内容)指向架构 验证该特定实例...然后我可以选择在“验证”中启动该服务 模式”,它会自动验证出站响应以确保它们符合架构。
任何建议都非常感谢。
答案 0 :(得分:2)
JSON文档没有标准的方法来识别描述它的模式。 JSON Schema的设计目标之一是,它不对要验证的JSON文档的结构施加任何影响。
但是,JSON Schema确实定义了一种在HTTP响应的上下文中将JSON Schema链接到文档的方法。您可以使用describedby
链接标头来识别模式。
HTTP/1.1 200 OK
Content-Type: application/json
Link: <http://foo.bar.com/animal.schema.json>; rel="describedby"
{
"animal": {
"type": "dog",
"name": "rover"
}
}
http://json-schema.org/latest/json-schema-core.html#rfc.section.10.1