还有另一个问题与我在这里问的问题类似(您能否在符合 JSON 架构的 JSON 文档上指定架构 URI? https://stackoverflow.com/questions/58042566/can-you-specify-the-schema-uri-on-a-json-document-that-conforms-to-a-json-schema) 被标记为 (如何引用顶级数组 json 的模式 https://stackoverflow.com/questions/57930439/how-to-reference-schema-of-json-which-is-top-level-array),但我对这个问题有细微的变化。
虽然 JSON 模式定义中似乎没有任何内容(https://json-schema.org/ https://json-schema.org/),在 JSON 对象/文档中指示它符合(或应该符合)哪个 JSON 模式时,人们是否遵循最佳实践?
在 JSON 对象/文档中使用 $schema 标签引用架构是否错误?看起来引用它所遵循的模式也是“版本”JSON 对象/文档的好方法。
我非常怀疑这个问题是否有一个“可接受的”答案。
没有什么可以阻止您使用 $schema 属性作为您个人约定的一部分。
这在现实世界中是有一些先例的。一些 Azure 快速入门模板使用 $schema 来引用它们遵循的 JSON 架构,例如:https://github.com/Azure/azure-quickstart-templates/blob/master/101-azure-bastion/azuredeploy.parameters.json https://github.com/Azure/azure-quickstart-templates/blob/master/101-azure-bastion/azuredeploy.parameters.json(谢谢Mark T https://stackoverflow.com/users/12161588/mark-t对于他的评论)
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"bastion-host-name": {
"value": "GEN-UNIQUE-8"
},
"location": {
"value": "southcentralus"
}
}
}
然而,由于缺乏官方指导,我们也许应该接受这一概念:模式实例(取自 XSD)不太适合轻量级定义语言,例如 jsonschema。
我有兴趣了解您的用例,其中需要将 JSON 实例与其模式显式链接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)