架构草案 4 中存在哪些 IETF 生成的 JSON 架构草案 3 中没有的功能?
问问题
5349 次
2 回答
31
从更改日志中:
新关键字
- anyOf(匹配模式数组中的至少一个模式),
- allOf(匹配模式数组中的所有模式),
- oneOf(与模式数组中的一个模式完全匹配),
- 不(不匹配架构),
- multipleOf(替换 divisibleBy),
- minProperties 和 maxProperties(对象实例中的最小和最大成员数),
- 定义(内联子模式的标准化容器)。
删除:
- 不允许
- 延伸
- 可除
功能改变:
类型
- 当值是一个数组时,模式不再被允许作为元素。此外,数组必须至少有一个元素。
前
{
"type": [ "string", { "other": "schema" } ]
}
现在
{
"anyOf": [
{ "type": "string" },
{ "other": "schema" }
]
}
必需的
- 以前,它是属性中子模式的属性。它现在是扮演相同角色的第一级关键字,并且有一个字符串数组作为参数。
前
{
"properties": {
"p": {
"type": "string",
"required": true
},
"q": {
"type": "string",
"required": true
}
}
}
现在
{
"properties": {
"p": { "type": "string" },
"q": { "type": "string" }
},
"required": [ "p", "q" ]
}
依赖项
- 不再允许属性依赖项中的单个字符串,只允许使用数组
前
{
"dependencies": { "a": "b" }
}
现在
{
"dependencies": { "a": [ "b" ] }
}
于 2013-07-11T20:44:09.623 回答
6
如果您对深入研究感兴趣,可以在 IETF 网站上查看两个草案之间的差异。
但是,如果您正在寻找更简单的更改摘要,Geraint Luff 和 Francis Galiegue 在项目的 github wiki 上创建了一个更改日志页面,其中列出了更改、添加和删除。
于 2013-07-02T06:47:57.087 回答