Validador de JSON Schema

Valida datos JSON contra definiciones de JSON Schema. Obtiene informes de errores detallados con rutas. Todo el procesamiento se realiza en tu navegador.

Validación instantánea Detalles de errores Procesamiento en el cliente

Cómo usar el validador de JSON Schema

1

Introduce el esquema

Define tu JSON Schema que describe la estructura esperada.

2

Introduce los datos

Pega los datos JSON que deseas validar contra el esquema.

3

Valida

Haz clic en Validar y revisa los resultados para detectar errores.

¿Qué es JSON Schema?

JSON Schema es un vocabulario que permite anotar y validar documentos JSON. Proporciona un contrato para qué datos JSON se necesitan para una aplicación determinada y cómo interactuar con ellos. JSON Schema se usa para validación, documentación y generación de datos de prueba.

Características clave

Validación de tipos

Valida tipos: cadena, número, entero, booleano, array, objeto, null

Restricciones

Longitud mínima/máxima, rango, patrón, campos obligatorios y más

Definición de estructura

Define objetos anidados, arrays y estructuras de datos complejas

Preguntas frecuentes

¿Qué versión de JSON Schema es compatible?

Esta herramienta es compatible con JSON Schema Draft-07, Draft 2019-09 y Draft 2020-12 a través de la biblioteca Ajv. La mayoría de las características comunes de esquemas son compatibles.

¿Puedo validar objetos anidados?

¡Sí! JSON Schema es compatible con objetos y arrays profundamente anidados. Puedes definir propiedades y elementos en cualquier nivel de anidamiento, con reglas de validación individuales para cada campo.

¿Qué pasa si mi esquema no es válido?

La herramienta primero valida que tu esquema sea un JSON Schema válido. Si el esquema tiene errores, estos se informarán antes de intentar validar los datos.

¿Qué palabras clave de JSON Schema se utilizan más?

type (string, number, object, array, boolean, null), properties con esquemas anidados, required que enumera las claves obligatorias, enum para conjuntos de valores fijos, pattern para cadenas restringidas por expresiones regulares, y las comprobaciones de rango minimum/maximum y minLength/maxLength. additionalProperties: false endurece los objetos frente a claves adicionales. En conjunto cubren la mayor parte de las reglas de validación de API.

¿Cómo se comportan las palabras clave format como date-time y email?

En JSON Schema moderno, format es una anotación por defecto, no una aserción automática - los validadores la aplican solo cuando están configurados para hacerlo, algo que la especificación 2020-12 hizo explícito con un vocabulario format-assertion separado. Usa pattern o una palabra clave personalizada cuando deba garantizarse su cumplimiento, y trata format como metadatos de interoperabilidad en los demás casos.

¿Qué es $ref y cómo funciona la reutilización de esquemas?

Un $ref que apunta a #/$defs/address referencia un fragmento de esquema bajo $defs y valida contra él dondequiera que se use - el mecanismo de deduplicación. Draft 2020-12 renombró el antiguo definitions a $defs y formalizó $dynamicRef para estructuras recursivas como los árboles de comentarios. Las referencias también pueden apuntar a documentos externos, aunque es más común empaquetarlas localmente.

¿En qué se diferencian oneOf, anyOf y allOf?

allOf exige que todos los subesquemas validen - una intersección, usada para componer un esquema base con restricciones adicionales. anyOf exige al menos uno - una unión, usada para payloads polimórficos. oneOf exige exactamente uno; validar dos o ninguno hace fallar la validación, lo cual es más estricto de lo que la gente espera y la causa habitual de errores sorprendentes con esquemas superpuestos.

¿Qué cambió entre draft-07 y 2020-12?

2020-12 dividió la especificación en vocabularios negociables por separado (validation, annotation, format-assertion), renombró definitions a $defs, simplificó exclusiveMinimum a un número simple y reemplazó la antigua palabra clave items por prefixItems más items. La mayoría de las herramientas admite ambos; draft-07 sigue siendo el más desplegado, pero 2020-12 es el estándar publicado vigente.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}