JSON模式中的自定义属性

Ant*_*v B 10 javascript json jsonschema json-schema-validator

使用自定义属性扩展JSON模式是否有效?

我问的原因是,因为我使用模式也为模式描述的JSON呈现一个表单(模式中描述的每个属性都用作带有标签和某种输入的表单元素).

能够使用我主要用于表单呈现的一些属性扩展模式会很有用,但是在使用模式验证JSON对象本身时会忽略这些属性.

我可以为JSON对象提供两种不同的表示形式(一种是模式,一种是具有自定义属性的对象的模式,我只是用于创建表单,但如果我可以将两者结合在一起,则更容易进行维护).

不幸的是,Google并没有太大的帮助,而且我没有大量使用JSON模式的经验,所以如果我遗漏了一些明显的东西,我会道歉.

编辑1:
示例架构代码段:

{
    "title": "Example Schema",
    "type": "object",
    "properties": {
        "firstName": {
            "type": "string",
            "CUSTOM_PROPERTY": "CUSTOM_VALUE"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,上面只是一个片段,因此没有title,$schema等等.

Ped*_*dro 7

(如果它是有效的JSON)验证器很可能会忽略您的自定义属性.但是你要使用什么验证器?检查该特定验证器.

在这里你有一些在线验证器来测试:

此外,您可以扩展JSON模式,请参阅http://json-schema.org/latest/json-schema-core.html#rfc.section.6.4

  • 最新链接:https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.section.6.5 (2认同)