I file JSON sono fantastici perché memorizzano la raccolta di dati in un formato leggibile dall'uomo. Tuttavia, leggere il file JSON può essere una seccatura se il file JSON viene minimizzato.
Prendi questo come esempio:
Un computer può leggerlo facilmente. Anche un essere umano può ancora leggerlo, ma se il file JSON è formattato correttamente per visualizzare il contenuto, sarà molto più semplice. Voglio dire, i file JSON dovrebbero leggersi in questo modo dopotutto:
Puoi utilizzare la maggior parte degli editor di testo con alcuni plug-in per visualizzarlo con una formattazione corretta. Tuttavia, se sei bloccato su un terminale o se vuoi farlo nello script della tua shell, le cose saranno diverse.
Se hai un file minimizzato, lascia che ti mostri come stampare il file JSON nel terminale Linux.
Stampa abbastanza JSON con il comando jq in Linux
jq è un processore JSON a riga di comando. Puoi usarlo per affettare, filtrare, mappare e trasformare i dati strutturati. Non entrerò nei dettagli sull'utilizzo dello strumento da riga di comando jq qui.
Per usare jq, devi prima installarlo. Puoi utilizzare il gestore di pacchetti della tua distribuzione per installarlo. Con il repository Universe abilitato, puoi installarlo su Ubuntu usando il comando apt:
sudo apt install jq
Una volta installato, utilizzalo nel modo seguente per stampare il file JSON sul display:
jq . sample.json
Potresti anche tentare di usare cat, ma credo che sia uno degli usi inutili del comando cat.
cat sample.json | jq
Tieni presente che il comando precedente non influirà sul file JSON originale. Non verranno scritte modifiche.
Probabilmente sai già come reindirizzare l'output del comando su un file in Linux. Probabilmente sai anche che non puoi reindirizzare allo stesso file e che il comando tee non è garantito per funzionare sempre.
Se desideri modificare il file JSON originale con un bel formato di stampa, puoi reindirizzare l'output analizzato a un nuovo file e quindi copiarlo nel file JSON originale.
jq . sample.json > pretty.json
Bonus:riduci a icona un file JSON con il comando jq
Prendiamo una posizione inversa e riduciamo un file JSON ben formattato. Per minimizzare un file JSON, puoi utilizzare l'opzione compatta -c.
jq -c < pretty.json
Puoi anche usare cat e reindirizzamento se vuoi:
cat pretty.json | jq -c
Uso di Python per stampare file JSON in Linux
È più probabile che tu abbia Python installato sul tuo sistema. In tal caso, puoi usarlo per stampare il file JSON nel terminale:
python3 -m json.tool sample.json
So che ci sono altri modi per analizzare il file JSON e stamparlo con il formato corretto. Puoi esplorarli da solo, ma questi due sono sufficienti per fare il lavoro che consiste nel stampare un bel file JSON.
Articolo originale