Cómo validar JSON
- Pega el JSON o abre un archivo. La validación se ejecuta automáticamente mientras escribes.
- Un mensaje verde “JSON válido” con estadísticas significa que el documento es correcto. Si no, lee el error: indica la línea, la columna y lo que se esperaba en ese punto.
- Corrige la línea resaltada o haz clic en Reparar y, después, usa Formatear para que el resultado sea fácil de leer.
Errores JSON comunes y cómo corregirlos
| Error | Ejemplo | Solución |
|---|---|---|
| Coma final | [1, 2, ] | Elimina la coma antes de ] o } |
| Comillas simples | {'name': 'Ada'} | Usa comillas dobles: {"name": "Ada"} |
| Clave sin comillas | {name: "Ada"} | Pon la clave entre comillas: {"name": "Ada"} |
| Falta una coma | {"a": 1 "b": 2} | Añade una coma entre las propiedades |
| Comentario | // settings | JSON no admite comentarios: elimínalos |
| Salto de línea en una cadena | "line 1⏎line 2" | Escribe \n en lugar de un salto de línea real |
| Valor no válido | undefined, NaN, True | Usa null, un número, true o false |
| Cero inicial | {"zip": 01234} | Escribe 1234 o guárdalo como texto: "01234" |
| Falta un corchete | {"a": [1, 2} | Cierra cada [ con ] y cada { con } |
Qué hace que un JSON sea válido
JSON está definido en el RFC 8259. Un documento válido cumple unas pocas reglas estrictas:
- Contiene exactamente un valor de nivel superior, normalmente un objeto
{}o un array[]. - Los miembros de un objeto son pares
"key": valueseparados por comas; las claves son siempre cadenas entre comillas dobles. - Las cadenas usan comillas dobles; dentro de ellas solo se permiten los escapes
\" \\ \/ \b \f \n \r \ty\uXXXX. - Los números son decimales: sin ceros iniciales, sin signo
+, sin hexadecimales y sinNaNniInfinity. true,falseynullse escriben en minúsculas.- Se permiten espacios, tabulaciones y saltos de línea entre los tokens, pero no comentarios.
Validar JSON en la línea de comandos
- Python:
python -m json.tool file.jsonmuestra la línea y la columna del primer error. - jq:
jq empty file.jsontermina con un mensaje de error si el archivo no es válido. - Node.js:
node -e "JSON.parse(require('fs').readFileSync('file.json', 'utf8'))"
Preguntas frecuentes
¿Qué diferencia hay entre un validador JSON y un linter JSON?
Un validador comprueba si el texto sigue la sintaxis JSON. Un linter normalmente también impone un estilo coherente. Este validador comprueba estrictamente según el RFC 8259 y, con Formatear, también te da una sangría coherente.
¿Puede validar con un JSON Schema?
Esta página comprueba la sintaxis. Para describir la estructura esperada de tus datos, crea un schema a partir de un documento de ejemplo con nuestro generador de JSON Schema.
¿Por qué mi JSON es válido aquí pero otro programa lo rechaza?
Los programas suelen esperar una estructura concreta (ciertas claves o tipos), una codificación determinada, como UTF-8 sin marca de orden de bytes (BOM), o números dentro de un rango limitado. Un JSON sintácticamente válido puede incumplir esas reglas de la aplicación.
¿Es válido el JSON con comentarios (JSONC)?
No. El JSON estándar no permite comentarios. Algunos editores los aceptan en archivos de configuración (JSONC), pero las API y JSON.parse no. Reparar elimina los comentarios por ti.