JSON Toolkit

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.

Principiante~9 min de lecturaPublicado el 2026-10-30Actualizado el 2026-10-30
Portada de Fundamentos de archivos JSON

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:

  1. En realidad es un archivo binario (por ejemplo un archivo comprimido, o un archivo de base de datos exportado, con extensión .json). Usa file data.json para ver el tipo real; no lo fuerces a tratarse como texto.
  2. 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.
  3. 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.