Validador de JSON Schema
Pega un esquema y un documento, elige el borrador, y el validador verifica el documento contra cada palabra clave que usa tu esquema, type, required, enum, oneOf, $ref, if/then/else, format personalizado, informando cada violación con un puntero estilo JSONPath a la ubicación exacta del error.
Cómo validar contra un esquema
-
1
Pega el esquema
Borrador de JSON Schema 04, 07 o 2020-12. La palabra clave `$schema` (si está presente) selecciona automáticamente el borrador.
-
2
Pega el documento
El JSON que deseas validar. Debe ser un JSON válido primero, los errores de sintaxis se muestran antes de la evaluación del esquema.
-
3
Validar
Cada violación se informa con un puntero JSON (`/user/email`) y la palabra clave que falló (`format`, `required`, etc.).
-
4
Corrige y revalida
Edita cualquiera de los lados y el estado se actualiza en vivo.
Palabras clave soportadas
Núcleo: type, enum, const, multipleOf, maximum, minimum, exclusiveMaximum, exclusiveMinimum, maxLength, minLength, pattern, maxItems, minItems, uniqueItems, maxContains, minContains, maxProperties, minProperties, required, dependentRequired.
Composición: allOf, anyOf, oneOf, not.
Aplicadores: properties, patternProperties, additionalProperties, items, prefixItems, contains, propertyNames.
Condicionales: if, then, else, dependentSchemas.
Referencias: $ref, $defs, $id, $anchor.
Formatos (con validación cuando está habilitada): date-time, date, time, duration, email, hostname, ipv4, ipv6, uri, uuid, regex.
Salida de error
FAIL /user/email format "not-an-email" no es un "email" válido
FAIL /user/age minimum -3 es menor que el mínimo 0
FAIL /orders/0/total type "42" no es del tipo "number"
FAIL / required falta la propiedad requerida "shippingAddress"
Cada error incluye la ruta y la palabra clave que falló, lo que facilita localizarlo en tu editor.
Diferencias de borrador que pueden causar problemas
| Palabra clave | Borrador 04 | Borrador 07 | Borrador 2020-12 |
|---|---|---|---|
id vs $id |
id |
$id |
$id |
exclusiveMaximum como bool |
Sí | Número | Número |
Sintaxis de array items |
items |
items |
prefixItems |
$ref permite hermanos |
No | No | Sí |
Establece el borrador correcto; validar un esquema de borrador-04 como 2020-12 malinterpretará id y algunas otras sutilezas.
Flujos de trabajo típicos
- Pruebas de contrato de API: antes de un despliegue, ejecuta el esquema OpenAPI generado/actualizado contra respuestas de muestra reales.
- Fortalecimiento de configuración: valida cada configuración YAML/JSON en CI contra un esquema antes de fusionar.
- Ingesta de datos: rechaza cargas útiles que no coincidan con la forma esperada temprano, con un mensaje de error claro.
Errores comunes
- Olvidar la aplicación de
format. Por defecto, la mayoría de los validadores tratan los formatos desconocidos como solo anotaciones. Habilita la validación de formato estricto para rechazar realmente correos electrónicos y fechas incorrectas. - Uso excesivo de
oneOf. Si dos ramas deoneOfse superponen, el documento fallará (debe coincidir exactamente con uno). UsaanyOfo patrones de discriminador. - Esquemas estrictos con
additionalProperties: false. Agregar un nuevo campo opcional se convierte en un cambio disruptivo. Omitelo a menos que realmente desees un objeto cerrado.
Preguntas frecuentes
Sí. Los borradores 2020-12, 07 y 04 son todos soportados. El validador lee la palabra clave $schema de tu documento para elegir el correcto, o vuelve a la selección en la interfaz.
Los formatos estándar (email, date-time, uuid, ipv4, etc.) se validan cuando el formato estricto está habilitado. Los formatos personalizados declarados en tu esquema se tratan como solo anotaciones a menos que proporciones una regex con pattern.
Las referencias internas (#/$defs/foo) se resuelven automáticamente. Las referencias HTTP externas no se obtienen por defecto, por seguridad. Inline tus referencias externas primero, o usa una herramienta dedicada que soporte la resolución remota de $ref.
Sí. Tanto el esquema como el documento permanecen locales. El contenido pegado nunca se sube, seguro para contratos de API internos y datos sensibles.
Herramientas relacionadas
Referencia de la tabla ASCII
Tabla ASCII completa del 0 al 127 con decimal, hex, octal, binario y referencia numérica HTML para cada carácter, incluidos los códigos de control como NUL, LF y DEL.
Referencia de caracteres HTML
Lista buscable de entidades HTML, sus códigos nombrados y numéricos, y una copia con un clic para caracteres y símbolos especiales.
Referencia de atajos de teclado
Busca los atajos predeterminados documentados de VS Code, Chrome y Bash con GNU Readline en macOS, Windows y Linux.
Generador de letras aleatorias
Genera letras aleatorias A-Z. Elige la cantidad, usa mayúsculas, minúsculas o mezcla de ambas, y aplica el resultado en juegos, consignas o clase.
Generador de Paletas de Color
Genera paletas monocromáticas, análogas, complementarias, triádicas o tetrádicas desde un color base HEX y exporta variables CSS listas para copiar.
Generador de EditorConfig
Genera un archivo .editorconfig con tu estilo y tamaño de indentación, fin de línea, charset y reglas de espacios para un formato consistente en IDEs y editores.
Herramienta disponible en otros idiomas
- JSON 스키마 검증기 [KO]
- Validateur de schéma JSON [FR]
- Validador de JSON Schema [PT]
- Trình xác thực JSON Schema [VI]
- JSONスキーマバリデーター [JA]
- JSON Schema-validator [NL]
- أداة التحقق من مخطط JSON [AR]
- JSON-Schema-Validator [DE]
- Penentu Struktur JSON [ID]
- เครื่องมือตรวจสอบ JSON Schema [TH]
- JSON Schema-validator [SV]
- Walidator JSON Schema [PL]
- JSON Schema Validator [EN]
- Validator di JSON Schema [IT]
- Валидатор JSON Schema [RU]
- JSON Şeması Doğrulayıcı [TR]
- JSON 模式验证器 [ZH]