键 A 的值等于 JSONschema 中键 B 的值

value of key A equals to value of Key B in JSONschema

对于{keyA:valueA},{KeyB:valueB}是否可以在架构中定义,valueB必须等于valueA。也就是说,向下复制 ValueAValueB?

我知道它会导致重复。但是必须使用两个不同的密钥来满足不同的标准。

例如,我想在下面的架构中将 name 用作 sample name

架构

{
    "$id": "sampleSchema",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "properties": {
        "name": {
            "type": "string"
        },
        "sample name":{
            "type":"string"
        },
    }
}

数据如下:

{
 "name":"example1",
 "sample name":"example1"
}

JSON 架构不支持这样的操作。

我们称其为 "data consistency validation",因为它测试一个地方的数据与另一个地方的定义一致

支持这些类型的操作将非常困难。它可能需要一种通用编程语言来支持人们希望看到的大多数情况。

有关详细信息,请参阅 Scope of JSON Schema Validation

作为替代方案,一些验证器允许您在针对具有特定 ID 的模式验证实例时实现自定义关键字或实现事件或挂钩。您可以使用它来实现您正在寻找的功能。