Los archivos JSON son increíbles porque almacenan una colección de datos en un formato legible por humanos. Sin embargo, leer el archivo JSON puede ser una molestia si se minimiza el archivo JSON.
Toma esto como ejemplo:
Una computadora puede leerlo fácilmente. Incluso un humano todavía puede leerlo, pero si el archivo JSON tiene el formato adecuado para mostrar el contenido, será mucho más fácil. Me refiero a que se supone que los archivos JSON deben leerse así después de todo:
Puede usar la mayoría de los editores de texto con algunos complementos para mostrarlo con el formato adecuado. Sin embargo, si está atascado en una terminal o si quiere hacerlo en su script de shell, las cosas serán diferentes.
Si tienes un archivo minimizado, déjame mostrarte cómo imprimir el archivo JSON en la terminal de Linux.
JSON de impresión bonita con el comando jq en Linux
jq es un procesador JSON de línea de comandos. Puede usarlo para dividir, filtrar, mapear y transformar datos estructurados. No entraré en detalles sobre el uso de la herramienta de línea de comandos jq aquí.
Para usar jq, primero debe instalarlo. Puede usar el administrador de paquetes de su distribución para instalarlo. Con el repositorio del universo habilitado, puede instalarlo en Ubuntu usando el comando apt:
sudo apt install jq
Una vez que lo haya instalado, utilícelo de la siguiente manera para imprimir el archivo JSON en la pantalla:
jq . sample.json
También puede tener la tentación de usar cat, pero creo que es uno de los usos inútiles del comando cat.
cat sample.json | jq
Tenga en cuenta que el comando anterior no afectará el archivo JSON original. No se escribirán cambios en él.
Probablemente ya sepa cómo redirigir la salida del comando a un archivo en Linux. Probablemente también sepa que no puede redirigir al mismo archivo y que no se garantiza que el comando tee funcione todo el tiempo.
Si desea modificar el archivo JSON original con un bonito formato de impresión, puede canalizar la salida analizada a un nuevo archivo y luego copiarlo al archivo JSON original.
jq . sample.json > pretty.json
Bonificación:minimiza un archivo JSON con el comando jq
Tomemos una postura inversa y minimicemos un archivo JSON bien formateado. Para minimizar un archivo JSON, puede usar la opción compacta -c.
jq -c < pretty.json
También puedes usar gato y redirección si quieres:
cat pretty.json | jq -c
Uso de Python para imprimir un archivo JSON en Linux
Es más probable que tenga Python instalado en su sistema. Si ese es el caso, puede usarlo imprimiendo el archivo JSON en la terminal:
python3 -m json.tool sample.json
Sé que hay otras formas de analizar el archivo JSON e imprimirlo con el formato adecuado. Puede explorarlos por su cuenta, pero estos dos son suficientes para hacer el trabajo de imprimir un archivo JSON.
Artículo Original