JSON模式中的自定义属性

时间:2016-12-07 14:08:25

标签: javascript json jsonschema json-schema-validator

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

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

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

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

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

编辑1:
Schema Snippet示例:

{
    "title": "Example Schema",
    "type": "object",
    "properties": {
        "firstName": {
            "type": "string",
            "CUSTOM_PROPERTY": "CUSTOM_VALUE"
        }
    }
}

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

1 个答案:

答案 0 :(得分:5)

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

这里有一些在线验证器可供测试:

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