Bagaimana cara prettyprint json menggunakan jq standalone?

31

Saat ini, ketika saya ingin cukup mencetak file json menggunakan jq , saya menggunakan:

cat file.json | grep jq .

Namun saya berharap untuk jqmenerima nama file sebagai argumen tanpa harus mundur cat.

Halaman manual mengatakan:

jq [opsi ...] filter [file ...]

... Secara default, jq membaca aliran objek JSON (dipisahkan spasi) dari stdin. Satu atau lebih file dapat ditentukan, dalam hal ini jq akan membaca input dari mereka.

Belum berjalan:

jq file.json

gagal dengan melemparkan kesalahan kompilasi bahwa kunci tidak ditentukan.

Bagaimana saya bisa menambahkan file saat menjalankan jq?

k0pernikus
sumber

Jawaban:

49
jq . file.json

adalah apa yang saya cari. Saya tidak menyadari bahwa .ini adalah filter dan bukan pengganti untuk konten yang disalurkan dalam pipa:

.

Filter paling sederhana (dan paling tidak menarik) adalah .. Ini adalah filter yang mengambil input dan membuatnya tidak berubah sebagai output.

Dan halaman manual memperjelas bahwa filter adalah argumen yang diperlukan.

k0pernikus
sumber