sev*_*awp 6 json jsonschema json-schema-validator
我正在使用JSON模式验证数据。
我认为使用保留关键字$ id可能会使我的模式出现错误。该字段的目的是指定另一个平台上该属性的REMOTE ID。因此,这就是“来源ID”。
您能告诉我$ id是什么吗,如果我犯了一个严重错误并且此值需要更改。因为在文档中我找到了这个定义:
如果存在,则此关键字的值必须为字符串,并且必须表示有效的URI引用[RFC3986]。这个值应该被规范化,并且不应该是一个空的片段<#>或一个空的字符串<>。
$ id是保留关键字。
它用于:
您可以使用$ id来标识一个模式或模式的一部分(子模式),然后可以使用$ ref关键字在其他地方重用它。看到此问题的最简单方法是,将$ ref替换为具有相应ID的架构。
小智 5
由于 $id 更改了架构的基本 URI,因此同一架构或其任何子架构中的任何 $ref 值将以不同方式解析。
例如,如果您的基本 URI 是“ https://example.com/thing ”并且您有这个架构
{
"allOf": [
{"$ref": "foo"},
{
"$id": "stuff/and/nonsense",
"allOf": {"$ref": "bar"}
}
]
}
Run Code Online (Sandbox Code Playgroud)
然后“$ref”到“foo”解析为“ https://example.com/foo ”。但是“$ref”到“bar”解析为“ https://example.com/stuff/and/bar ”
因此,无论您出于其他目的放入“$id”中,都可能会导致问题,尤其是“$ref”分辨率。
| 归档时间: |
|
| 查看次数: |
4361 次 |
| 最近记录: |