JSON Los archivos son increíbles porque almacenan una colección de datos en un formato legible por humanos. Sin embargo, leer el archivo JSON puede ser complicado si el archivo JSON está reducido.
Toma esto por un example:
JSON minimizado es difícil de leer
Una computadora puede leerlo fácilmente. Incluso un humano aún puede leerlo, pero si el archivo JSON está formateado correctamente para mostrar el contenido, será mucho más fácil. Quiero decir, se supone que los archivos JSON deben leerse así después de todo:
Pretty Printed JSON es más fácil de leer
Puede utilizar 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 desea hacerlo en su script de shell, las cosas serán diferentes.
Si tiene un archivo minimizado, permítame mostrarle cómo imprimir el archivo JSON en la terminal de Linux.
Pretty print JSON 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 voy a 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 de universos 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 un archivo JSON en la pantalla:
jq . sample.json
Archivo JSON bastante impreso
También puede tentar a 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á al archivo JSON original. No se le escribirán cambios.
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 no se garantiza que el comando tee funcione todo el tiempo.
Si desea modificar el archivo JSON original con un formato de impresión bonito, puede canalizar la salida analizada a un archivo nuevo y luego copiarlo al archivo JSON original.
jq . sample.json > pretty.json
Bonito archivo JSON de impresión en la terminal de Linux
Bonificación: minimice 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
Visualización de archivos JSON minimizados
También puede usar cat y redirection si lo desea:
cat pretty.json | jq -c
Usando Python para imprimir archivos JSON en Linux
Es más probable que tenga Python instalado en su sistema. Si ese es el caso, puede usarlo para imprimir el archivo JSON en la terminal:
python3 -m json.tool sample.json
Bastante impresión JSON con Python
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 que es imprimir bastante el archivo JSON.