Recomendación de herramientas CLI para JSON
Para leer y procesar archivos JSON en la línea de comandos, la herramienta que recomiendo de forma prioritaria es jq. Si buscas algo más sencillo solo para formatear, json_reformat es una excelente alternativa.
Aquí tienes una comparativa de las opciones más destacadas para que elijas la que mejor se adapte a tu flujo de trabajo.
🔍 Comparativa de Herramientas CLI para JSON
| Herramienta | Funcionalidad Principal | Facilidad de Uso | Ideal Para... |
|---|---|---|---|
jq |
Procesador JSON potente y flexible. Permite consultas, filtrado y transformación de datos [citation:1][citation:5][citation:8]. | Curva de aprendizaje moderada. Su lenguaje de consulta es muy expresivo pero requiere práctica [citation:8]. | Usuarios que necesitan consultar, filtrar o transformar JSON de manera compleja, como al trabajar con APIs [citation:5]. |
json_reformat |
Formatea (pretty-print) JSON para hacerlo legible, sin alterar el orden de los campos [citation:1][citation:4]. | Muy sencillo. Ideal para cuando solo necesitas ver un JSON con una estructura clara y anidada. | Usuarios que buscan una solución rápida y simple para visualizar archivos JSON de forma ordenada. |
jsonutils |
Conjunto de utilidades para formato, consulta (con JSONPath) y validación [citation:6]. | Intermedio. Ofrece comandos específicos para cada tarea (ej. jsonutils format, jsonutils query). |
Quienes prefieren un enfoque más modular o están familiarizados con JSONPath para sus consultas [citation:6]. |
🏆 Recomendación Principal: jq (El Estándar de la Industria)
Sin duda, jq se ha convertido en el estándar de facto para manejar JSON en la terminal [citation:7]. Piensa en él como "Pandas para JSON en la shell" [citation:5][citation:8]. Te permitirá no solo leer, sino también interactuar con los datos de formas muy avanzadas.
¿Por qué jq es tan útil?
- Filtrado y Consulta: Puedes extraer solo los campos que te interesan. Por ejemplo, para obtener solo los nombres de usuarios de un archivo
datos.json, usaríasjq '.[].nombre' datos.json. - Transformación: Puedes cambiar la estructura del JSON, crear nuevos objetos o arrays a partir del original.
- Salida Formateada (Pretty Print): Por sí solo,
jq .ya colorea y aplica una sangría perfecta al JSON, haciéndolo instantly legible [citation:1].
Instalación Rápida de jq:
- En Linux (Debian/Ubuntu):
sudo apt-get update && sudo apt-get install jq[citation:7] - En macOS:
brew install jq[citation:7] - En Windows: Puedes descargar el ejecutable desde su sitio web oficial o usar gestores como Chocolatey.
Ejemplo básico de uso:
Imagina que tienes este JSON en un archivo ejemplo.json:
{"nombre": "Ana", "edad": 30, "ciudad": "Madrid"}
Si ejecutas cat ejemplo.json | jq '.nombre', obtendrás "Ana". Si quieres el valor sin comillas, usa la opción -r (raw): jq -r '.nombre' ejemplo.json [citation:7].
🛠️ Alternativas y Herramientas Complementarias
json_reformat(para lo simple): Si tu única necesidad es ver el archivo JSON con una indentación bonita y no quieres complicarte, esta es tu herramienta. En muchas distribuciones Linux viene con el paqueteyajl, instalable víasudo apt install yajlo similar [citation:1][citation:4].- Combinación con
curl: El verdadero poder de estas herramientas se libera cuando las combinas con otros comandos comocurl. Por ejemplo, para ver solo los títulos de las publicaciones de un usuario en una API, podrías hacer:curl 'https://jsonplaceholder.typicode.com/posts' | jq '.[].title'[citation:1][citation:5]. - Validación con
jsonlint: Aunque no es una herramienta CLI para leer archivos, a veces es útil validar que un JSON esté bien formado. Puedes usar páginas web como jsonlint.com [citation:1] o instalar herramientas comojsonlinten tu sistema.
En resumen, si solo quieres echar un vistazo a un archivo JSON, json_reformat te sirve. Pero si quieres trabajar de verdad con los datos, explorarlos, buscar valores concretos o integrarlos en scripts, jq es la herramienta que necesitas aprender y tener siempre a mano.
¿Tienes algún archivo JSON específico en mente o una tarea concreta que quieras realizar? ¡Cuéntame y te puedo ayudar con el comando exacto!
Referencias
- Herramientas JSON útiles para LAS API
- Helpful JSON Tools
- @devtools-cli/devtools-cli on NPM
- Herramientas JSON útiles
- 2025’s Essential CLI Tools Every Tech Professional Should Know!
- GitHub - harttle/jsonutils: Handle JSON in the Linux shell, the Unix way.
- Serialize and Deserialize JSON with Shell | Serialize & Deserialize Data Across Languages
- 10 Command-Line Tools Every Data Scientist Should Know - KDnuggets
- swaggest/json-cli alternatives and similar packages