Validador JSON Schema
Valida datos JSON contra un JSON Schema Draft 7 con errores detallados. Herramienta gratuita en el navegador con botones de ejemplo y diagnósticos por ruta.
Valida datos JSON contra un JSON Schema Draft 7 con errores detallados. Herramienta gratuita en el navegador con botones de ejemplo y diagnósticos por ruta.
Pega tus datos JSON en el panel izquierdo del editor.
Pega un JSON Schema en el panel derecho, o usa uno de los botones de ejemplo para rellenar ambos paneles al instante.
Haz clic en Validar para verificar los datos contra el esquema.
Revisa los errores de validación — cada uno muestra la ruta, la palabra clave violada y un mensaje claro.
Valida type, required, properties, items, enum, pattern, min/max, allOf/anyOf/oneOf, $ref y más.
Cada error identifica la ruta JSON exacta donde ocurrió la violación, facilitando la corrección de problemas.
Ejemplos de un clic para respuestas API, package.json y archivos de configuración rellenan los paneles de datos y esquema al instante.
Toda la validación se ejecuta localmente en tu navegador — tus datos y esquemas nunca se envían a ningún servidor.
Los esquemas JSON frecuentemente validan datos de producción con credenciales, datos de salud o financieros. Esta herramienta se ejecuta completamente en tu navegador, sin transmitir datos ni esquemas a servidores externos. No hay riesgo de exposición de datos, siendo segura para datos regulados por HIPAA, PCI o datos empresariales confidenciales.
Cuando falla la validación, cada error incluye la ruta JSON Pointer exacta, la palabra clave violada y un mensaje legible. Esta precisión elimina las conjeturas — sabes exactamente dónde está el problema y qué regla se violó, incluso en estructuras profundamente anidadas.
El validador soporta todas las palabras clave principales de JSON Schema Draft 7 incluyendo type, required, properties, additionalProperties, items, enum, const, pattern, format, minimum, maximum, minLength, maxLength, allOf, anyOf, oneOf, not y resolución local de $ref.
Comienza a validar inmediatamente — sin creación de cuentas, sin verificación de correo, sin límites diarios. Valida un solo objeto o ejecuta cientos de verificaciones por sesión sin restricciones. Se incluyen botones de ejemplo para explorar las capacidades sin escribir un esquema desde cero.
JSON Schema es un vocabulario potente para anotar y validar documentos JSON. Define la estructura esperada, tipos de datos, restricciones y relaciones dentro de un payload JSON. Originalmente diseñado para describir contratos de API, JSON Schema ahora se usa en gestión de configuración, generación de formularios, documentación y control de calidad de datos.
Un JSON Schema es en sí mismo un documento JSON que describe la forma esperada de otro documento JSON. Especifica qué propiedades deben existir, qué tipos deben tener, qué valores son aceptables y cómo deben organizarse las estructuras anidadas. El esquema actúa como un contrato — cualquier documento JSON que se ajuste al esquema se considera válido.
type restringe valores a tipos específicos (string, number, integer, boolean, null, array, object).minLength, maxLength, pattern (regex) y format (email, date, uri, uuid, ipv4, ipv6).minimum, maximum, exclusiveMinimum, exclusiveMaximum y multipleOf.required lista propiedades obligatorias. properties define esquemas por propiedad. additionalProperties controla si se permiten claves no listadas.items valida cada elemento. minItems, maxItems y uniqueItems.allOf, anyOf, oneOf y not combinan sub-esquemas para validación compleja.$ref con sintaxis JSON Pointer permite reutilizar esquemas referenciando definiciones en el mismo documento.Siempre establece additionalProperties: false cuando quieras validación estricta. Usa $ref para definir sub-esquemas reutilizables en un bloque definitions. Incluye campos description en tu esquema para contratos auto-documentados. Prueba esquemas contra datos válidos e inválidos para asegurar que las restricciones funcionen como se espera.
A medida que las API evolucionan, los esquemas deben actualizarse sin romper clientes existentes. Una práctica recomendada es mantener esquemas versionados y validar la compatibilidad hacia atrás antes de cada despliegue. Herramientas de comparación de esquemas pueden detectar cambios que rompen contratos, como la eliminación de propiedades requeridas o la restricción de tipos previamente aceptados, protegiendo así la estabilidad de las integraciones.
Las palabras clave de composición permiten construir esquemas sofisticados que reflejan la complejidad de los datos reales. allOf requiere que los datos cumplan todos los sub-esquemas simultáneamente, útil para herencia de esquemas y extensiones. anyOf valida si los datos cumplen al menos uno de los sub-esquemas, ideal para campos que aceptan múltiples formatos. oneOf exige que los datos cumplan exactamente uno de los sub-esquemas, perfecto para discriminadores de tipo en APIs polimórficas. Combinar estas palabras clave con not permite expresar restricciones negativas, rechazando datos que coincidan con patrones específicos no deseados.
En arquitecturas de microservicios, donde múltiples servicios intercambian mensajes JSON a través de colas, buses de eventos y APIs REST, JSON Schema actúa como el contrato formal entre productor y consumidor. Cada servicio puede validar los mensajes entrantes contra el esquema esperado antes de procesarlos, rechazando datos malformados en el punto de entrada. Este patrón, conocido como validación en el borde, previene la propagación de errores de datos a través de la cadena de servicios y facilita la detección temprana de incompatibilidades entre versiones. Equipos de plataforma pueden centralizar los esquemas en un registro compartido, garantizando que todos los servicios utilicen las mismas definiciones de contrato y simplificando la gobernanza de datos en sistemas distribuidos.
En la práctica, escribir esquemas JSON desde cero puede resultar tedioso para estructuras de datos complejas. Existen herramientas que generan un borrador de esquema a partir de un documento JSON de ejemplo, infiriendo tipos, propiedades requeridas y restricciones básicas. Este borrador sirve como punto de partida que el desarrollador refina añadiendo validaciones adicionales como patrones regex, rangos numéricos y composiciones con allOf/anyOf. Este enfoque de generación asistida acelera significativamente la adopción de JSON Schema en proyectos existentes que ya cuentan con datos de ejemplo representativos.
La mayoría de los fallos de validación se repiten una y otra vez. Un error de tipo aparece cuando un valor parece correcto para una persona pero tiene el tipo JSON equivocado, por ejemplo "42" en lugar de 42 o "true" en lugar de true. Un error de campo requerido ausente indica que el payload no incluye una propiedad listada dentro de required. Una violación de enum significa que el dato contiene un valor fuera del conjunto permitido, como "archived" cuando el esquema solo acepta "draft" y "published".
Los errores más sutiles suelen venir de la composición y del modo estricto. additionalProperties: false rechaza cualquier clave no declarada, algo excelente para contratos de API pero que también hace aflorar rápidamente cambios ocultos en el productor. Los conflictos con anyOf y oneOf son otra fuente habitual de confusión: anyOf exige cumplir al menos una rama, mientras que oneOf exige cumplir exactamente una. Si el payload no cumple ninguna o cumple varias, la validación falla. Por último, los errores de $ref sin resolver suelen apuntar a un puntero JSON mal escrito o a una definición ausente. Una buena práctica es corregir primero los errores estructurales de nivel superior; muchos errores secundarios desaparecen cuando el objeto padre ya cumple el esquema esperado.
| Tipo de error | Causa típica | Corrección práctica |
|---|---|---|
| Error de tipo | Se envía una cadena en lugar de número o booleano | Convertir el dato antes de validar o aceptar ambos tipos si es intencional |
| Required ausente | Falta una propiedad obligatoria | Añadir el campo o sacarlo de required si de verdad es opcional |
| Violación de enum | Valor no contemplado en el conjunto permitido | Normalizar el dato de entrada o ampliar el enum deliberadamente |
Conflicto con oneOf | El payload encaja en varias ramas | Añadir un discriminador o endurecer las ramas |
$ref sin resolver | Puntero roto o definición inexistente | Revisar la ruta JSON Pointer y centralizar definiciones reutilizables |
JSON Schema es un vocabulario estándar que define la estructura esperada, tipos y restricciones de un documento JSON. Está escrito en JSON y actúa como un contrato — cualquier documento JSON que se ajuste al esquema se considera válido. Se usa para validación de API, verificación de configuración, generación de formularios y documentación.
Sí. Todo el procesamiento de validación ocurre localmente en tu navegador usando JavaScript. Ni tus datos JSON ni tu esquema se transmiten a ningún servidor, se registran o se almacenan.
La herramienta soporta las palabras clave principales de validación de JSON Schema Draft 7 incluyendo type, required, properties, additionalProperties, items, enum, const, pattern, format, minimum, maximum, minLength, maxLength, allOf, anyOf, oneOf, not y resolución local de $ref.
Cada error muestra tres piezas de información: la ruta identificando exactamente dónde en tu JSON está el problema, la palabra clave identificando qué regla del esquema fue violada, y un mensaje legible explicando el problema.
Los botones de ejemplo cargan pares de esquema y datos predefinidos para casos comunes: una respuesta API, un package.json y un archivo de configuración. Rellenan ambos paneles con un clic para que puedas probar el validador sin escribir un esquema desde cero.
Sí. El validador verifica recursivamente objetos y arreglos anidados en cada nivel de profundidad. Si una propiedad anidada viola su esquema, la ruta del error muestra la ruta completa para que puedas localizar el problema con precisión.
Cuando additionalProperties se establece en false, cualquier propiedad en los datos JSON que no esté listada en el objeto properties causará un error de validación. Esto es útil para contratos de API estrictos.
Sí. La herramienta soporta referencias locales $ref usando sintaxis JSON Pointer. Define sub-esquemas reutilizables en un bloque definitions y referéncialos con $ref: '#/definitions/address'.
La palabra clave format soporta: email, date (YYYY-MM-DD), date-time (ISO 8601), uri, ipv4, ipv6 y uuid. Los formatos desconocidos se aceptan silenciosamente según la especificación JSON Schema.
Sí. No hay límites de tamaño de archivo o complejidad. La validación se ejecuta completamente en tu navegador, por lo que el límite práctico depende de la memoria de tu dispositivo.
Draft 7 es la versión más desplegada y la que cuenta con mejor soporte de herramientas en la mayoría de lenguajes. Draft 2020-12 añade vocabularios más recientes, referencias dinámicas y reglas como unevaluatedProperties. Para muchas APIs de producción, Draft 7 sigue siendo la opción más compatible salvo que necesites expresamente esas capacidades nuevas.
Sí. JSON Schema está pensado precisamente para eso. Puedes definir subesquemas dentro de properties e items, y el validador los aplica recursivamente a cada nivel, devolviendo la ruta completa cuando algo falla.
Convierte la validación de objetos en un modo estricto: cualquier propiedad no declarada en properties provoca error. Es muy útil para contratos de API cerrados, pero obliga a actualizar el esquema cada vez que el productor introduce nuevas claves.
Compara librerías JSONPath en JavaScript, Python y Java, incluyendo diferencias de sintaxis, resultados, filtros y portabilidad.
Leer más →Descubre ejemplos prácticos de JSON Schema aplicados a APIs de registro, catálogos de e-commerce, archivos de configuración y pipelines CI/CD.
Leer más →Aprende a validar datos JSON con JSON Schema: palabras clave del Draft 7, tipos, patrones, composición con allOf/oneOf, $ref y casos de uso reales.
Leer más →Buenas prácticas de JSON para APIs: envoltorios de respuesta, convenciones de nombres, formato de errores, paginación, versionado y seguridad en APIs REST.
Leer más →Guía completa sobre sintaxis JSON, tipos de datos, errores de parseo comunes y cómo JSON se compara con YAML, XML y otros formatos. Con ejemplos de código.
Leer más →