functions - json schema validator example
Esquema JSON draft4 VS esquema JSON draft3 (2)
De los registros de cambios:
Nuevas palabras clave
- anyOf (coincide con al menos un esquema en la matriz de esquema),
- allOf (coincide con todos los esquemas en la matriz de esquema),
- oneOf (coincide exactamente con un esquema en la matriz de esquema),
- no (no coincide con el esquema),
- multipleOf (reemplaza divisibleBy),
- minProperties y maxProperties (el número mínimo y máximo de miembros en una instancia de objeto),
- Definiciones (contenedor estandarizado para subschemas en línea).
Remoto:
- rechazar
- se extiende
- divisble por
Modificado en funcionalidad:
Tipo
- Cuando el valor es una matriz, los esquemas ya no se permiten como elementos. Además, la matriz debe tener al menos un elemento.
antes de
{
"type": [ "string", { "other": "schema" } ]
}
Ahora
{
"anyOf": [
{ "type": "string" },
{ "other": "schema" }
]
}
Necesario
- Antes, era un atributo de subschemas en propiedades. Ahora es una palabra clave de primer nivel que desempeña el mismo rol y tiene una matriz de cadenas como argumento.
antes de
{
"properties": {
"p": {
"type": "string",
"required": true
},
"q": {
"type": "string",
"required": true
}
}
}
Ahora
{
"properties": {
"p": { "type": "string" },
"q": { "type": "string" }
},
"required": [ "p", "q" ]
}
Dependencias
- Ya no se permite una sola cadena en una dependencia de propiedad, solo se permiten matrices
antes de
{
"dependencies": { "a": "b" }
}
Ahora
{
"dependencies": { "a": [ "b" ] }
}
¿Cuáles son las características presentes en el borrador de esquema 4 que no están en el borrador de esquema JSON 3 producido por IETF?
Si está interesado en una inmersión profunda, puede revisar una diferencia entre los dos borradores en el sitio IETF .
Sin embargo, si está buscando un resumen más sencillo de los cambios, Geraint Luff y Francis Galiegue crearon una página de registro de cambios en la wiki de github del proyecto que enumera los cambios, las adiciones y las eliminaciones.