jq adalah prosesor JSON baris perintah yang ringan dan fleksibel seperti sed yang memungkinkan Anda untuk mengiris, memfilter, memetakan, dan mengubah data dari satu format ke format lainnya. Misalnya, ini dapat digunakan untuk mengonversi data JSON menjadi CSV (nilai yang dipisahkan koma) untuk dimuat ke dalam database MySQL yang tidak berkolom JSON. Anda dapat mengunduhnya dari https://stedolan.github.io/jq/, dan ada versi online di https://jqplay.org/ untuk eksperimen. Plus, jq menggunakan parser Perl Compatible Regular Expressions (PCRE), seperti banyak bahasa lainnya. (Alat yang luar biasa ini layak untuk ditulis lebih banyak daripada contoh sederhana di sini, dan membaca manual adalah cara cepat untuk mengenal banyak fitur alat ini.)
Jika Anda menemukan kesalahan di bawah ini:
jq: command not found (JSON CLI Parser)
Anda dapat mencoba menginstal paket di bawah ini sesuai pilihan distribusi Anda.
Distribusi | Perintah |
---|---|
OS X | brew install jq |
Debian | apt-get install jq |
Ubuntu | apt-get install jq |
Alpin | apk tambahkan jq |
Linux Arch | pacman -S jq |
Kali Linux | apt-get install jq |
Fedora | dnf instal jq |
Raspbian | apt-get install jq |
Pekerja Buruh | docker menjalankan cmd.cat/jq jq |
Tanpa argumen ke jq, itu akan "mencetak cukup" dokumen JSON. Ini sangat berguna untuk dokumen yang sangat kompleks dengan banyak lapisan objek tertanam dan larik yang sulit dilihat pada satu garis datar.
Pilih Bidang Tertentu
Pada beberapa kesempatan, tidak semua data dalam dokumen JSON akan menarik, dan Anda dapat menggunakan jq untuk mereformasi data dan hanya menyediakan bagian yang dipilih. Misalnya:
$ jq '{city, state, id}' myfile.json
Contoh Perintah jq
1. Keluarkan file JSON, dalam format cetak cantik:
$ jq . file.json
2. Keluarkan semua elemen dari array (atau semua pasangan nilai kunci dari objek) dalam file JSON:
$ jq .[] file.json
3. Baca objek JSON dari file ke dalam array, dan keluarkan (kebalikan dari `jq .[]`):
$ jq --slurp . file.json
4. Keluarkan elemen pertama dalam file JSON:
$ jq .[0] file.json
5. Keluarkan nilai kunci yang diberikan dari elemen pertama dalam teks JSON dari stdin:
$ cat file.json | jq .[0].key_name
6. Keluarkan nilai kunci yang diberikan dari setiap elemen dalam teks JSON dari stdin:
$ cat file.json | jq 'map(.key_name)'
Ringkasan
jq adalah prosesor JSON baris perintah. Ini berfungsi seperti sed untuk data JSON; Anda dapat menggunakannya untuk memfilter, mengurai, dan mengubah data terstruktur dengan kemudahan yang sama seperti yang sed, awk, atau grep lakukan dengan teks mentah. Jq tersedia di GitHub di https://stedolan.github.io/jq/. Instalasi sangat sederhana; itu hanya biner tunggal, tersedia untuk Windows, macOS, dan Linux. Cukup unduh dan salin ke folder yang tersedia di PATH sistem Anda untuk dapat menjalankannya dari shell atau baris perintah.