Validador de esquemas JSON
Validate any JSON document against a JSON Schema (Draft 7) and see exactly which paths fail and why. — herramienta gratuita en línea.
Respuesta rápida: JSON Schema Validator: Funciona en tu navegador, gratis, sin registro.
Última actualización
Preguntas frecuentes
- ¿Qué borrador de JSON Schema es compatible?
- El borrador 7, con amplia compatibilidad con las funciones del borrador 2020-12 cuya semántica no ha cambiado. La mayoría de los esquemas habituales funcionan sin necesidad de conversión.
- ¿Qué palabras clave son compatibles?
- <code>type</code>, <code>enum</code>, <code>const</code>, <code>required</code>, <code>properties</code>, <code>additionalProperties</code>, <code>patternProperties</code>, <code>items</code> (único + tupla), <code>min/maxItems</code>, <code>uniqueItems</code>, <code>min/maxLength</code>, <code>pattern</code>, valores habituales de <code>format</code>, <code>minimum/maximum</code> + variantes exclusivas, <code>multipleOf</code> y los combinadores <code>allOf</code>/<code>anyOf</code>/<code>oneOf</code>/<code>not</code>.
- ¿Se admiten referencias <code>$ref</code>?
- No en esta herramienta: no seguimos redirecciones <code>$ref</code>. Inserta el subesquema referenciado directamente o procésalo previamente con una herramienta como <code>json-schema-ref-parser</code> antes de pegarlo.
- ¿Qué formatos se reconocen?
- <code>email</code>, <code>uri</code>, <code>uuid</code>, <code>date-time</code>, <code>date</code>, <code>time</code>, <code>ipv4</code> y <code>hostname</code>. Los demás formatos se aceptan sin avisos, conforme a la regla de formatos opcionales del borrador 7.
- ¿Por qué aparece «el valor no está en enum» si parece correcto?
- La comparación de <code>enum</code> es exacta: una cadena y un número no coinciden aunque sus dígitos parezcan idénticos. Comprueba los tipos JSON de ambos lados; <code>1</code> y <code>"1"</code> son valores distintos.
- ¿Cómo gestiona los errores en objetos anidados profundamente?
- Cada error incluye la ruta con puntos desde la raíz, por lo que <code>$.users[3].profile.email</code> indica exactamente qué valor debes corregir. Los errores se muestran según el orden del documento.
- ¿Encontrará todos los errores o se detendrá en el primero?
- Todos los errores: no interrumpimos la comprobación, así que una sola ejecución te ofrece la lista completa para corregirla de una vez.
- ¿Se sube mi JSON?
- No: tanto el esquema como el documento permanecen en tu navegador. La validación consiste únicamente en un recorrido de JavaScript por ambos árboles.
- ¿Qué tamaño puede tener el documento que quiero validar?
- Los documentos de hasta varios megabytes se validan en bastante menos de un segundo. El cuello de botella es mostrar miles de errores, no la validación en sí.
- ¿Por qué mi esquema funciona en Ajv pero no aquí?
- Lo más probable es que use <code>$ref</code>, <code>$dynamicRef</code> o una palabra clave exclusiva del borrador 2020-12, como <code>prefixItems</code>. Inserta las referencias directamente y conviértelas a equivalentes del borrador 7 antes de pegarlas.