2016-12-07 59 views
4

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

我问的原因是,因为我正在使用架构来呈现架构描述的JSON的表单(架构中描述的每个属性都被用作带有标签和某种输入的表单元素)。

能够使用我主要用于表单呈现的某些属性来扩展架构会很有用,但是在使用架构来验证JSON对象本身时会被忽略。

我可以为JSON对象提供两种不同的表示方式(一种是架构,另一种是模式对象,带有自定义属性,我只是为了创建表单,但如果我可以将它们组合在一起,一)。

不幸的是,Google不是很有帮助,我没有大量的使用JSON模式的经验,所以如果我错过了某些明显的东西,请致歉。

编辑1:
实施例模式片段:

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

注意以上仅仅是一个片段,并因此不具有title$schema

+0

可以扩展一个JSON对象,通过添加新的属性if毕竟JSON仍然有效。你能举个例子吗? – PMerlet

+0

@Cubi它更关心JSON模式是否可以通过JSON模式解析器正确解析,如果它包含自定义属性的话。上面添加了一个例子。 –

回答

4

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

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

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

+0

谢谢!这就是我正在寻找的! –