Validador JSON

Pega cualquier documento JSON y verifica si se analiza correctamente según la RFC 8259. La entrada inválida regresa con el problema exacto: coma final después del último elemento del array, clave sin comillas, cadena no terminada, comillas simples donde JSON exige dobles, secuencias de escape incorrectas, además de la línea y columna donde el analizador se detuvo. Útil al depurar una respuesta de API, un archivo de configuración, un package.json editado por un compañero o la salida de un generador de código.

Cómo funciona la validación JSON

  1. 1

    Pega tu JSON

    Introduce un payload, un archivo de configuración o una respuesta de API. Los espacios en blanco están bien; las tabulaciones y comentarios no lo están (JSON puro no tiene comentarios).

  2. 2

    Analiza con un analizador estricto de RFC 8259

    El validador rechaza cualquier cosa que la especificación prohíba: comas finales, claves sin comillas, comillas simples, `undefined`, números hexadecimales.

  3. 3

    Lee el error

    Si falla, obtienes el mensaje del analizador más una ubicación aproximada, suficiente para navegar directamente al carácter.

  4. 4

    Corrige y revalida

    Corrige el problema, pega de nuevo y confirma que el documento es válido antes de hacer commit o enviarlo.

Lo que JSON estricto permite, y lo que no

Existen muchos formatos de “casi JSON” (JSON5, JSONC, HJSON, híbridos similares a YAML). La especificación JSON en sí es pequeña y estricta; este validador te dice si tu documento sobrevive a un analizador estricto, que es lo que la mayoría de los sistemas posteriores realmente ejecutan.

Reglas que atrapan a la mayoría

Regla Válido Inválido
Las claves deben ser cadenas entre comillas dobles {"a": 1} {a: 1}
Las cadenas usan solo comillas dobles "hello" 'hello'
No hay comas finales [1, 2, 3] [1, 2, 3,]
No hay comentarios (ninguno) // comentario o /* */
Números: sin + inicial, sin .5 0.5 +1, .5
Solo literales reservados true, false, null undefined, NaN
Codificación UTF-8 Cadenas Unicode Secuencias de bytes inválidas

Errores comunes y lo que significan

  • “Token inesperado }, tienes una coma final antes de la llave de cierre.
  • “Se esperaba el nombre de la propiedad”, la clave no está entre comillas o olvidaste las comillas alrededor de la clave de apertura.
  • “Fin de entrada inesperado”, una apertura { o [ no está cerrada; cuenta las llaves.
  • “Carácter de control incorrecto”, un tabulador, salto de línea u otro byte de control dentro de una cadena literal. Escápalos como \t, \n, etc.
  • “Clave duplicada”, no es realmente un error de la especificación JSON (la especificación dice que DEBE ser única), pero muchos validadores advierten. El validador lo señala como un aviso, no como un fallo grave.

Si necesitas formatos más flexibles

  • JSON5 permite comas finales, comentarios y comillas simples. Usa un analizador JSON5 si ese es tu formato objetivo.
  • JSONC (JSON con comentarios) es lo que usan las configuraciones de VS Code. Elimina los comentarios antes de la validación estricta.
  • YAML es un formato diferente; no asumas que es “solo JSON con sangrías”.

Consejos

  • Valida antes de hacer commit. Un error tipográfico en un package.json o un archivo de configuración de CI rompe toda la construcción hasta que alguien lo nota.
  • Imprime de forma legible después de validar para hacer que las diferencias de revisión sean legibles. Un archivo JSON de una línea es válido pero miserable de revisar.
  • Para cargas grandes, valida en flujo (jq en la línea de comandos, por ejemplo). El análisis en el navegador tiene dificultades más allá de unos pocos MB.

Preguntas frecuentes

Esta herramienta verifica solo la validez sintáctica, ¿es un JSON bien formado? Para reglas estructurales (campos requeridos, valores de enumeración, longitudes de cadenas), usa un validador de esquema JSON. Los dos pasos son complementarios: no tiene sentido ejecutar la validación de esquema en un documento que no es JSON válido en primer lugar.

Porque el JSON estándar no tiene comentarios. // y /* */ son una extensión de sentido común (JSONC, JSON5) pero el JSON puro los rechaza. Elimina los comentarios antes de enviar a un consumidor estricto, o adopta JSON5 en toda tu pila.

Inválido en JSON estricto. La especificación permite solo números finitos. Serialízalos como cadenas ("NaN", "Infinity") o como null, dependiendo de cómo maneje tu consumidor los datos faltantes.

No, la validación se ejecuta en tu navegador, por lo que el payload que pegas nunca sale de la página. Seguro para archivos de configuración sensibles y respuestas de API con credenciales.

Herramientas relacionadas

Herramienta disponible en otros idiomas