logo
GeekFormat

Validador JSON Schema

Relacionado

Características

  • Compatible con Draft-07: sigue completamente la especificación JSON Schema Draft-07 con soporte para tipos, campos obligatorios, propiedades, regex, formatos y enums
  • Lógica de combinación avanzada: soporta allOf, anyOf, oneOf y not para gestionar estructuras complejas y escenarios de validación con múltiples restricciones
  • Localización precisa de errores: muestra la ruta exacta del error, el tipo de fallo y la regla del esquema violada para depurar rápidamente conflictos de contrato de API
  • Pruebas de contrato de API: verifica que las respuestas reales de tu API coincidan estrictamente con el esquema definido en la documentación, ideal para desarrollo frontend-backend
  • Procesamiento 100% local: todo se ejecuta en tu navegador sin enviar datos a ningún servidor, garantizando privacidad y velocidad instantánea

Preguntas Frecuentes

¿Cómo valido una respuesta de API contra un JSON Schema?

Pega tu definición de JSON Schema en el campo izquierdo y el JSON de la respuesta de la API en el derecho. La herramienta comparará ambas estructuras automáticamente, validando tipos de datos, campos obligatorios, patrones regex y más. Es un paso esencial para las pruebas de contrato de API y garantizar la consistencia entre frontend y backend.

¿Qué reglas de validación JSON Schema soporta?

La herramienta es compatible con el estándar JSON Schema Draft-07. Soporta verificación de tipos (type), campos obligatorios (required), propiedades (properties), patrones regex (pattern), validación de formato (format), valores permitidos (enum) y lógica de combinación avanzada (allOf, anyOf, oneOf, not).

¿Cómo localizo los errores cuando la validación falla?

Cuando el JSON no cumple con el esquema, la herramienta genera un informe detallado que indica la ruta exacta del error (por ejemplo, `data.users[0].email`), el tipo de error (incompatibilidad de tipos, campo obligatorio faltante, etc.) y la regla del esquema que se violó. Esto te permite localizar y corregir problemas rápidamente.

¿Puedo usar JSON Schema para validar datos antes de importarlos?

Sí. Antes de cargar datos en una base de datos o procesarlos en un pipeline ETL, puedes verificar que cumplen con las especificaciones de tu esquema. Esto te permite detectar datos sucios o anomalías antes de que entren en tu sistema, garantizando la calidad de los datos.

¿Mis datos se envían a algún servidor durante la validación?

No. Todo el proceso de validación se ejecuta de forma local en tu navegador. Ningún dato se transmite a servidores externos, lo que garantiza la total privacidad de tu información, especialmente cuando trabajas con estructuras de API empresariales o datos sensibles.

Hoja de Referencia de Palabras Clave de JSON Schema

La siguiente tabla lista las palabras clave de validación más utilizadas en la especificación JSON Schema, organizadas por categoría para referencia rápida.

Palabra ClaveDescripción
Tipos Básicos
typeEspecifica el tipo de datos: string, number, integer, boolean, array, object, null. Soporta un tipo único o un array de tipos.
Validación de Objetos
propertiesDefine sub-esquemas para las propiedades del objeto.
requiredArray de strings que especifica qué propiedades son obligatorias.
additionalPropertiesControla si se permiten propiedades extra no definidas en properties; puede ser false o un esquema.
propertyNamesEsquema que deben cumplir los nombres de las propiedades (comúnmente usa regex pattern).
minPropertiesNúmero mínimo de propiedades que debe contener un objeto.
maxPropertiesNúmero máximo de propiedades que puede contener un objeto.
Enums y Constantes
enumArray de valores permitidos; los datos deben ser exactamente un valor del array.
constValor constante; los datos deben ser estrictamente iguales a este valor.
Restricciones Numéricas
minimumValor numérico mínimo (inclusivo).
maximumValor numérico máximo (inclusivo).
exclusiveMinimumEl valor debe ser estrictamente mayor que (exclusivo).
exclusiveMaximumEl valor debe ser estrictamente menor que (exclusivo).
multipleOfEl valor debe ser un múltiplo del número especificado.
Restricciones de Strings
minLengthLongitud mínima del string.
maxLengthLongitud máxima del string.
patternExpresión regular; el string debe coincidir con este patrón.
formatValidación de formato semántico: email, uri, date-time, uuid, ipv4, ipv6, hostname, etc.
Restricciones de Arrays
itemsEsquema para los elementos del array (un solo esquema se aplica a todos los elementos).
minItemsNúmero mínimo de elementos en el array.
maxItemsNúmero máximo de elementos en el array.
uniqueItemsSi los elementos del array deben ser únicos.
containsAl menos un elemento del array debe coincidir con este esquema.
Lógica Combinatoria
allOfLos datos deben coincidir con todos los sub-esquemas (Y lógico).
anyOfLos datos deben coincidir con al menos un sub-esquema (O lógico).
oneOfLos datos deben coincidir con exactamente un sub-esquema (XOR).
notLos datos NO deben coincidir con este esquema (NO lógico).
Validación Condicional
ifEsquema condicional; si los datos coinciden con if, deben cumplir then; de lo contrario deben cumplir else.
thenEsquema a cumplir cuando la condición if se cumple.
elseEsquema a cumplir cuando la condición if no se cumple.
Referencias y Reutilización
$refReferencia a otras definiciones de esquema; soporta referencias locales (#/$defs/xxx) y referencias remotas.
$defsDefine sub-esquemas reutilizables (Draft 2019-09+; versiones antiguas usan definitions).
definitionsPalabra clave para sub-esquemas reutilizables en Draft 4-7.
Metadatos
titleTítulo del esquema (anotación, no se valida).
descriptionDescripción del esquema (anotación, no se valida).
defaultValor por defecto (anotación, no se valida).
examplesArray de valores de ejemplo (anotación, no se valida).
$schemaEspecifica la versión de la especificación JSON Schema en uso.
Dependencias
dependentRequiredDependencia de propiedades: cuando una propiedad existe, otras propiedades también deben existir (Draft 2019-09+).
dependenciesPalabra clave de dependencia en Draft 4-7 que cubre tanto dependencias de propiedades como de esquemas.

Comparación de Versiones de JSON Schema

JSON Schema ha evolucionado a través de múltiples versiones Draft. Draft 7 es actualmente la versión más utilizada; Draft 2020-12 es la última versión estable.

CaracterísticaDraft 4Draft 6Draft 72019-092020-12
validación de tipos
campos obligatorios
enum/const✓ enum
minimum/maximum
exclusiveMinimum/Maximumbooleanonúmeronúmeronúmeronúmero
multipleOf
minLength/maxLength
regex pattern
validación de formatossolo anotación por defectosolo anotación por defecto
array items
contains
minItems/maxItems
uniqueItems
additionalProperties
propertyNames
allOf/anyOf/oneOf/not
if/then/else
referencias $ref
reutilización $defsdefinitionsdefinitionsdefinitions$defs$defs
dependentRequired
tuplas prefixItemsforma de arrayforma de arrayforma de arrayforma de arrayprefixItems
unevaluatedProperties
$dynamicRef/$anchor✓ $recursiveRef✓ dynamicRef