Validador de JSON
Pegue JSON para comprobarlo contra el estándar, con el mensaje de error exacto y su posición cuando algo falla.
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
| Error | No válido | Vá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 cadena | un salto de línea dentro de "…" | "line 1\nline 2" |
| Valores especiales | NaN, undefined | null 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 detry/catch - Python:
json.loads(text), opython -m json.tool file.jsonen la línea de comandos - jq:
jq empty file.jsonno 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.