validator functions example draft json jsonschema

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?