好吧,我是两者的作者:
- 当前的JSON Schema验证规范;
- 以及当今在Java中最常用于JSON模式验证的Java库:json-schema-validator。
因此,我可以回答您的问题,而基本答案是“否”。
为什么?因为当前没有定义架构继承这样的东西。
使用时
allOf,您需要所有模式都
allOf匹配;并且如果您对此JSON中存在的内容严格要求,则将添加
additionalProperties到中
false。因此,您无法继承。
真正的解决方案是我针对v5草案提出的一种机制:
$mergeand
$patch关键字。这些将允许使用RFC 7386或RFC
6902修补架构(请参阅此处以获取更多信息),并确实实现架构继承。
简而言之:
- 如果设置
additionalProperties
为false
,并且基本JSON是对象,则将无法定义其他对象成员; - 使用这两个新关键字,您可以。



