Texto 🔒 Se ejecuta en tu navegador — no se envían datos

Validador de JSON

Pegue JSON para comprobarlo contra el estándar, con el mensaje de error exacto y su posición cuando algo falla.

JSON de entrada

Validar JSON online

Basta una coma de más para que una API rechace una petición o un archivo de configuración no se cargue, y el error resultante no siempre ayuda. Pegar el documento en un validador le dice en un segundo si es JSON válido y, si no lo es, exactamente dónde se rompe.

Esta página abre el formateador de JSON, que valida en cada cambio con el analizador del navegador, conforme al estándar, y formatea el documento cuando es válido.

Los errores que un validador encuentra con más frecuencia

ErrorNo válidoVálido
Coma final{"a": 1,}{"a": 1}
Comillas simples{'a': 'x'}{"a": "x"}
Clave sin comillas{a: 1}{"a": 1}
Coma que falta{"a": 1 "b": 2}{"a": 1, "b": 2}
Comentario{"a": 1 // note}Elimine el comentario
Salto de línea sin escapar en una cadenaun salto de línea dentro de "…""line 1\nline 2"
Valores especialesNaN, undefinednull o un número

Cómo leer el mensaje de error

Los navegadores informan de los errores JSON con una posición, por ejemplo «Expected double-quoted property name in JSON at position 12». La posición cuenta los caracteres desde cero, así que señala el carácter en el que el analizador se detuvo. El error real suele estar justo antes: la coma delante de una llave de cierre, o la comilla que debería haber sido doble.

Válido no es lo mismo que correcto

Un validador comprueba la sintaxis, no el significado. Un JSON con una clave mal escrita, un número enviado como cadena o un campo obligatorio que falta sigue siendo JSON válido. Para comprobar la estructura, use un validador de JSON Schema en su código o en CI. Y cuidado con las claves duplicadas: técnicamente están permitidas, pero la mayoría de los analizadores se quedan sin avisar solo con la última.

Validar en código

  • JavaScript: JSON.parse(text) dentro de try/catch
  • Python: json.loads(text), o python -m json.tool file.json en la línea de comandos
  • jq: jq empty file.json no imprime nada cuando el archivo es válido
  • PHP: json_validate($text) desde PHP 8.3

Una vez que sea válido, minificar JSON elimina los espacios en blanco para el transporte.

Guías relacionadas