Cara Membaca JSON dengan jq di Bash Script
Halo teman-teman! Hari ini kita akan belajar cara membaca file JSON menggunakan alat hebat bernama jq di dalam Bash Script. Bagi kalian yang belum tahu, jq adalah command-line tool yang bisa digunakan untuk memproses dan memanipulasi JSON dengan mudah. So, langsung aja yuk kita mulai!
Apa Itu jq?
jq adalah alat command-line yang super keren untuk memproses data JSON. Dengan jq, kalian bisa filter, slicing, atau memodifikasi data JSON langsung dari terminal atau di dalam script Bash. Kenapa kita perlu jq? Karena JSON semakin populer sebagai format pertukaran data di web dan jq membuatnya mudah dikelola.
Installation jq
Sebelum mulai, pastikan jq sudah terinstall di sistem kamu:
sudo apt-get install jq # untuk Debian/Ubuntu
atau
brew install jq # untuk macOS
Kalau pakai Windows, bisa didownload dari situs resmi.
Basic Command jq
Misalkan kita punya data JSON seperti ini di file data.json:
{
"nama": "Budi",
"umur": 25,
"kota": "Jakarta"
}
Untuk menampilkan semua isi JSON, gunakan perintah:
jq '.' data.json
Hasilnya akan sama seperti isi file data.json.
Membaca Value dari Key Tertentu
Kalau mau mengambil nilai dari key tertentu, misalnya nama:
jq '.nama' data.json
Hasilnya: "Budi".
Membaca Nested JSON
Ada kasus di mana JSON punya struktur nested (bersarang). Misalnya data karyawan:
{
"karyawan": {
"nama": "Ani",
"pekerjaan": "Developer"
},
"perusahaan": "ABC Corp"
}
Untuk akses nama dalam karyawan:
jq '.karyawan.nama' data.json
Hasilnya: "Ani".
Membaca Array JSON
Misalkan ada array dalam JSON:
{
"buah": ["apel", "mangga", "pisang"]
}
Untuk akses semua elemen array:
jq '.buah[]' data.json
Hasilnya:
"apel"
"mangga"
"pisang"
Filter Data JSON
Kita bisa filter dengan kondisi tertentu. Misal punya data:
{
"orang": [
{"nama": "Budi", "umur": 25},
{"nama": "Ani", "umur": 30},
{"nama": "Cici", "umur": 28}
]
}
Mau cari orang yang umurnya lebih dari 25:
jq '.orang[] | select(.umur > 25)' data.json
Hasilnya:
{"nama": "Ani", "umur": 30}
{"nama": "Cici", "umur": 28}
Manipulasi Data dengan jq
jq juga bisa dipakai untuk manipulasi data JSON. Misalnya tambah field baru:
jq '.orang[] | .kota = "Jakarta"' data.json
Hasilnya setiap item akan ditambah field kota dengan nilai "Jakarta".
Menggunakan jq di Bash Script
Sekarang waktunya gabungkan jq ke dalam Bash Script. Misal kita punya script read_json.sh:
#!/bin/bash
# Path ke file JSON
FILE="data.json"
# Baca nama dari file JSON
NAMA=$(jq -r '.nama' "$FILE")
# Tampilkan hasil
echo "Nama: $NAMA"
Pada contoh di atas, option -r digunakan untuk mendapatkan raw output (tanpa tanda petik ganda).
jq adalah alat yang powerful untuk bekerja dengan JSON di command-line. Dengan jq, kalian bisa baca, filter, dan manipulasi data JSON dengan mudah di Bash Script. Keren, kan? Semoga artikel ini membantu teman-teman semua. Selamat mencoba! ✌️
Jika ada pertanyaan atau request untuk topik selanjutnya, langsung saja tulis di komentar ya!