Qué es un archivo JSON, con qué abrirlo y cómo editarlo
En resumen: Desde el texto corrupto en el Bloc de notas hasta tres formas de abrir un archivo JSON, pasando por cómo confirmar que nada se rompió tras editarlo y qué hacer cuando un archivo enorme no se abre.

En resumen: antes de abrir un archivo JSON, confirma su codificación y su BOM, y después comprueba que la estructura sea solo un objeto o un array; tras editarlo, valídalo siempre con un analizador en vez de mirar a ojo los corchetes y las comas.
Es simplemente un archivo de texto plano con extensión
.json, y hasta el Bloc de notas puede abrirlo. El verdadero quebradero de cabeza no es "no se abre", sino que una vez abierto no ves qué has roto.
1. Qué hay realmente dentro de un archivo JSON
Un archivo JSON válido solo puede contener una de dos cosas: un objeto {...} o un array [...]. Nada más está permitido: ni declaraciones de variables, ni comentarios, ni funciones.
{
"name": "order service",
"port": 8080,
"debug": false,
"upstream": ["10.0.0.11", "10.0.0.12"],
"timeout": null
}
Basta reconocer tres cosas estructuralmente:
| Lo que ves | Significado | Concepto de programación correspondiente |
|---|---|---|
Pares clave-valor entre { } |
Un objeto; las claves deben ser cadenas entre comillas dobles | Map / struct |
Una secuencia de valores entre [ ] |
Un array; los tipos de los elementos pueden diferir | List |
| Seis tipos de valor | Cadena, número, booleano, null, objeto, array | Solo estos seis; ni fechas ni enteros |
La extensión del archivo no determina el contenido: package.json, tsconfig.json y composer.json son todos lo mismo; simplemente distintas herramientas han acordado leer claves distintas de ellos.
2. Tres formas de abrirlo, según el escenario
Solo un vistazo rápido: ábrelo en un navegador. Arrastra el archivo a una ventana de Chrome o Edge y el navegador lo muestra tal cual; si tienes instalada una extensión JSON Viewer, se formatea bonito y se hace plegable automáticamente.
Necesitas editar el contenido: usa un editor. VS Code, Sublime y Notepad++ incluyen resaltado de sintaxis JSON y emparejamiento de corchetes, y Shift + Alt + F en VS Code formatea el documento. Ten en cuenta que el Bloc de notas de Windows puede añadir un BOM al guardar, así que tus cambios de configuración podrían no surtir efecto; mejor evitarlo.
No quieres instalar nada, solo validar: usa el formateador JSON en línea. Pega el contenido y verás de inmediato los números de línea y columna, las ubicaciones de error y un árbol plegable; copia el resultado cuando termines. Los datos se procesan localmente en el navegador y no se suben a ningún servidor.
Archivos grandes (decenas de MB o más): no los fuerces a abrirse en un editor. Abrir un archivo JSON de 100 MB en VS Code se quedará colgado hasta que te cuestiones tus decisiones de vida; inspecciona primero la estructura con la línea de comandos:
# Mira las 20 primeras líneas para confirmar si es un array
head -n 20 data.json
# Usa jq para listar las claves de nivel superior sin cargar todo el archivo
jq -r 'keys[]' data.json | head
# Cuenta la longitud del array
jq 'length' data.json
3. Qué hacer cuando al hacer doble clic se abre texto corrupto
Tres causas, cada una con su tratamiento:
- En realidad es un archivo binario (por ejemplo un archivo comprimido, o un archivo de base de datos exportado, con extensión
.json). Usafile data.jsonpara ver el tipo real; no lo fuerces a tratarse como texto. - La codificación no es UTF-8. El texto chino codificado como GBK aparece corrupto en un entorno UTF-8. Usa "Reabrir con codificación" del editor para probar GBK una vez; si se muestra correctamente, guárdalo como UTF-8.
- El archivo está cifrado o comprimido. El síntoma es
PK(zip) o un montón de signos de interrogación al principio; estos archivos hay que descomprimirlos o descifrarlos primero.
4. Cómo confirmar que nada se rompió tras editar
JSON no tolera nada: una coma que falta, una coma de más o una comilla que falta y todo el archivo queda muerto, y la ubicación del error indicada suele apuntar a la línea siguiente. Por eso debes validar después de editar; no confíes en tus ojos.
Las tres acciones de edición de alto riesgo, ordenadas según la frecuencia con la que causan problemas:
| Acción | Consecuencia habitual | Cómo evitarla |
|---|---|---|
| Pegar un bloque de configuración | Trae una coma final o puntuación de ancho completo | Formatea una vez justo después de pegar |
| Intercambiar manualmente el orden de las claves | Una coma de más o de menos | Usa los comandos de mover línea del editor; no lo reescribas a mano |
| Borrar el último elemento de un array | Deja un ,] |
Comprueba que los corchetes emparejen tras borrar |
La validación es sencilla: pégalo en el validador en línea y busca el texto en rojo, o ejecuta una línea en la línea de comandos:
python3 -m json.tool config.json > /dev/null && echo OK
Si imprime OK, el archivo es válido. Si quieres validar también los tipos de campo (por ejemplo, que port sea un número y name no esté vacío), escribir un JSON Schema es mucho más fiable que el ojo humano.
5. En qué se diferencia .json de sus parientes cercanos
| Extensión | Diferencia | ¿Puede leerla un analizador estándar |
|---|---|---|
.json |
JSON estándar | Sí |
.jsonc |
Permite comentarios // y /* */ |
No; hay que quitar primero los comentarios |
.json5 |
Permite comentarios, comillas simples, claves sin comillas y comas finales | No; hace falta un analizador JSON5 |
.jsonl / .ndjson |
Un JSON independiente por línea; el archivo en conjunto no es JSON válido | No, no como conjunto; hay que leerlo línea a línea |
No te extrañes al ver comentarios en tsconfig.json; en realidad se trata como .jsonc. Si pasas el mismo contenido a JSON.parse, dará error. Cuando necesites convertir entre ellos, usa JSON5 a JSON para quitar comentarios y comas finales con un clic.
6. Cuándo es momento de cambiar de formato de almacenamiento
JSON encaja en escenarios donde "la estructura no es fija, las personas necesitan leerlo y viaja entre lenguajes". Si un archivo supera las decenas de MB, la estructura de campos es estable y necesitas consultas condicionales, quedarte en JSON es buscarte problemas: pásate a SQLite, Parquet o cárgalo en una base de datos; el rendimiento de lectura/escritura difiere en órdenes de magnitud. Para los compromisos concretos, consulta Analizar y transmitir JSON grande.
Preguntas frecuentes
¿Cómo puedo inspeccionar un archivo JSON demasiado grande para abrirlo?
No lo fuerces a abrirse en un editor; abrir un archivo JSON de 100 MB en VS Code se quedará colgado hasta que te cuestiones tus decisiones de vida. Inspecciona primero la estructura con la línea de comandos: head -n 20 confirma si es un array, jq -r 'keys[]' lista solo las claves de nivel superior y jq 'length' cuenta la longitud del array. Ninguno de estos comandos carga el archivo completo.
¿Por qué mis ediciones en el Bloc de notas impiden que la configuración surta efecto?
El Bloc de notas de Windows puede añadir un BOM al guardar, y un archivo con BOM falla al analizar la configuración, así que el contenido editado nunca surte efecto. La recomendación del artículo es usar editores como VS Code, Sublime o Notepad++, que incluyen resaltado de sintaxis JSON y emparejamiento de corchetes. Si ya usaste el Bloc de notas, guarda de nuevo como "UTF-8 sin BOM" y vuelve a intentarlo.
¿Puedo tratar un archivo JSON como JSON5 y añadir comentarios?
No: un analizador estándar no permite comentarios en un archivo .json y JSON.parse da error de inmediato. Los comentarios van en archivos .jsonc o .json5 leídos por el analizador correspondiente. Archivos como tsconfig.json en realidad se tratan como .jsonc; pasa el mismo contenido a JSON.parse y falla.