Un schema solo es util si puedes verificar un documento contra el y obtener una respuesta clara sobre que fallo y donde. Este validador cubre el subconjunto de JSON Schema que el generador de este sitio escribe, por lo que un schema producido alli esta garantizado de poder ser aplicado en esta pagina.
Usar el validador de JSON Schema
Pega un schema a la izquierda y el documento a verificar a la derecha, luego presiona Validar. Cargar el ejemplo llena ambos paneles a la vez, para que puedas editar solo el documento y ver inmediatamente lo que el schema rechaza.
Dado el schema
{
"type": "object",
"properties": {
"age": {"type": "integer", "minimum": 0},
"name": {"type": "string", "minLength": 2}
},
"required": ["age", "name"]
}
y el documento {"age": -5, "name": "A"}, la validacion reporta dos
problemas en una pasada: minimum fallo en /age porque -5 esta por
debajo de 0, y minLength fallo en /name porque "A" tiene un solo
caracter. Cada problema se reporta, no solo el primero, y cada uno lleva la
palabra clave exacta que lo rechazo y un JSON Pointer al valor, para que un
problema sea una ruta a la que puedes llegar en lugar de una oracion que
tienes que descifrar.
Que se soporta
Type, enum y const; las palabras clave properties, patternProperties,
additionalProperties y required; longitud, patron y formato en cadenas;
limites y multiplos en numeros; items y uniqueItems en arreglos; los
combinadores allOf, anyOf, oneOf y not; if-then-else; y referencias locales
a traves de $defs o definitions. Una palabra clave que este validador
no implementa se trata como una anotacion y se ignora, que es exactamente
lo que la especificacion de JSON Schema permite que un validador haga con
una palabra clave no reconocida.
Que detiene toda la verificacion
Un $ref que no nombra nada dentro del schema, o uno que apunta completamente
fuera de el, detiene la validacion por completo y lo indica. Reportar un
resultado de paso o fallo para un schema que no pudo ser resuelto completamente
seria una mentira disfrazada de respuesta, por lo que la herramienta se niega
a dar una.
Intercambiar lados
Dado que los paneles de schema y documento son visualmente similares, Intercambiar lados mueve el schema actual al panel de documento y viceversa, util si los pegaste en los cuadros equivocados o quieres verificar rapidamente un schema para verificar su cordura basica contra si mismo.