Come prettyprint json usando jq standalone?


31

Attualmente, quando voglio stampare un file json usando jq , utilizzo:

cat file.json | grep jq .

Tuttavia mi aspetterei jqdi accettare un nome di file come argomento senza dover fare il fallback cat.

La pagina man dice:

jq [opzioni ...] filtro [file ...]

... Per impostazione predefinita, jq legge un flusso di oggetti JSON (spazi separati) dallo stdin. È possibile specificare uno o più file, nel qual caso jq leggerà l'input da quelli.

Eppure in esecuzione:

jq file.json

fallisce lanciando errori di compilazione che le chiavi non sono definite.

Come dovrei aggiungere il file durante l'esecuzione jq?

Risposte:


49
jq . file.json

è quello che stavo cercando. Non mi rendevo conto che .è un filtro e non un segnaposto per il contenuto convogliato:

.

Il filtro assoluto più semplice (e meno interessante) è .. Questo è un filtro che accetta il suo input e lo produce invariato come output.

E la pagina man chiarisce che il filtro è un argomento richiesto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.