JSON Schema校验中的可选参数:‘optional’关键字是否已被移除?
JSON Schema 里的
optional 关键字确实已不存在 这个说法是对的。
- 早期JSON Schema的非正式草案(比如draft-04之前的版本)里,曾有开发者用
optional标记可选属性,但它从来没成为官方规范的一部分。 - 从正式的draft-04版本开始,官方规范就没有定义过
optional关键字。要实现属性可选的效果,标准做法是:- 在
properties中定义属性,但不把它加入required数组; - 或者结合
additionalProperties、patternProperties等关键字来控制属性的可选性。
- 在
- 要是你在一些旧的JSON Schema文档里看到
optional,那基本是非规范的自定义用法,或者基于早期非官方草案的实现,现在主流的JSON Schema验证器都不会识别这个关键字。
内容的提问来源于stack exchange,提问作者Dhanu
相关产品推荐
相关产品推荐

