Panduan Linux

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!

#Bash Script #Linux