假设我有一个简单的JSON,例如:
"values": {
"A": 0,
"B": 0,
"C": 0,
"D": 0,
"E": 0,
}
A,B,C是基本模式T1的一部分,而D,E是扩展模式T2的一部分。因此,架构T1具有3个属性,而T2具有5个属性。我想避免在两种模式下都写两次A,B,C。
JSON模式中是否有扩展属性列表的内容?
答案 0 :(得分:1)
如果要以反映扩展对象的方式拆分架构,其中某些架构具有additionalProperties: false
,则需要提升additionalProperties: false
。
您可以在每个架构中使用一个定义来定义不带AdditionalProperties:false的对象,然后根架构allOf引用带有AdditionalProperties:true的定义。然后,在其他架构中,您可以引用先前架构的定义。
不幸的是,这是草案7的限制。在草稿8中,可以使用新关键字来做您想做的事,但尚未发布。