JQ adalah prosesor JSON baris perintah serbaguna untuk Linux yang memungkinkan pengembang mengurai, memfilter, dan mengubah data JSON dengan cepat dan efisien. Fitur-fiturnya yang canggih menjadikannya alat yang sangat diperlukan bagi siapa saja yang bekerja dengan file JSON di sistem Linux. Dalam artikel ini, kami akan membahas 10 perintah JQ penting yang harus diketahui oleh setiap pengembang Linux untuk merampingkan tugas pemrosesan JSON mereka.
AdvertisementContoh File JSON File Content
Untuk tutorial ini, Anda dapat menggunakan contoh data JSON berikut dalam file bernama input.json. Data JSON ini mewakili kumpulan orang dengan nama, usia, negara, dan alamat masing-masing:
[ { "nama": "Alice", "usia": 35, "negara": "AS", "alamat": { "jalan": "Jalan Utama 123", "kota": "New York", "negara bagian": "NY", "zip": "10001" } }, { "nama": "Bob", "umur": 28, "negara": "Kanada", "alamat": { "jalan": "456 Maple Ave", "kota": "Toronto", "provinsi": "AKTIF", "postal_code": "M5V 1A1" } }, { "nama": "Charlie", "umur": 42, "negara": "AS", "alamat": { "jalan": "789 Oak St", "kota": "San Francisco", "negara bagian": "CA", "zip": "94102" } }, { "nama": "David", "umur": 23, "negara": "Kanada", "alamat": { "jalan": "Jalan Pinus 321", "kota": "Vancouver", "provinsi": "BC", "postal_code": "V6B 2P4" } } ] 1234567891011121314151617181920212223242526272829303132333435363373839404041424344546 [{"nama": "Alice", "AGE: 3," "" "" "" "negara bagian":"NY", "zip":"10001" } }, { "nama":"Bob", "umur":28, "negara":"Kanada", "alamat":{ "jalan": "456 Maple Ave", "city":"Toronto", "province":"ON", "postal_code":"M5V 1A1" } }, { "name":"Charlie", "age":42, "country ":"USA", "address":{ "street":"789 Oak St", "city":"San Francisco", "state":"CA", "zip":"94102" } }, { " name":"David", "age":23, "country":"Canada", "address":{ "street":"321 Pine St", "city":"Vancouver", "province":"BC ", "postal_code":"V6B 2P4" } }]
Simpan konten JSON ini dalam file bernama “input.json” dan gunakan sebagai input untuk berbagai perintah JQ dalam tutorial. Contoh data ini akan membantu Anda lebih memahami dan mempraktikkan berbagai perintah dan teknik JQ yang diuraikan dalam artikel.
10 Contoh Perintah JQ untuk Pengembang Linux
Pretty Print Data JSON
Untuk mencetak data JSON dengan cantik, cukup kirimkan file JSON ke perintah JQ diikuti dengan tanda titik ( .):
jq `.` input.jsonRetrieve a Specific JSON Key
Untuk mengekstrak nilai kunci tertentu dari objek JSON, gunakan sintaks berikut:
jq `.key` input.json1jq`.key`input.json
Misalnya, untuk mengekstrak nilai “ name” key, gunakan:
jq `.name` input.jsonAccess Nested JSON Values
Untuk mengakses nilai JSON bertingkat, gunakan notasi titik (.):
jq `.key1.key2.key3` input. json1jq`.key1.key2.key3`input.json
Misalnya, untuk mengekstrak nilai kunci "kota" yang bersarang di bawah "alamat", gunakan:
jq `.address.city` input.json ] preIterate Over JSON Arrays
Gunakan tanda kurung siku ([]) untuk mengulang array JSON:jq `.[]` input.json
Untuk mengekstrak kunci spesifik dari setiap objek dalam array, gunakan pipa (| ) operator:jq `.[] | .key` input.jsonFilter JSON Data
Untuk memfilter data JSON berdasarkan kondisi tertentu, gunakan fungsi pilih:
jq `.[] | pilih(.key == "nilai")` input.json1jq`.[] | pilih(.key == "nilai")`input.json
Misalnya, untuk memfilter objek dalam array dengan "usia" lebih besar dari 30, gunakan:jq `.[] | select(.age > 30)` input.jsonMap and Transform JSON Data
Untuk memetakan dan mengubah data JSON, gunakan kurung kurawal ({}):
jq `.[] | {key1: .key1, key2: .key2}` input.json1jq`.[] | {key1: .key1, key2: .key2}`input.json
Misalnya, untuk membuat objek JSON baru hanya dengan kunci “nama” dan “usia”, gunakan:jq `.[] | {name: .name, age: .age}` input.jsonCombine Multiple JSON Files
Untuk menggabungkan dua file JSON, gunakan * operator:jq -s `.[0] * .[1]` file1.json file2.jsonPerform Operasi Aritmatika
JQ dapat melakukan operasi aritmatika pada nilai JSON numerik:
jq `.number1 + .number2` input.json1jq`.number1 + .number2`input.json
Misalnya, untuk menghitung jumlah dua angka dalam file JSON, gunakan:jq `.number1 + .number2` input.jsonSort JSON Data
Untuk mengurutkan data JSON berdasarkan kunci tertentu, gunakan fungsi `sort_by`:
jq `.[] | sort_by(.key)` input.json1jq`.[] | sort_by(.key)`input.json
Misalnya, untuk mengurutkan array objek dengan tombol “usia”, gunakan:jq `.[] | sort_by(.age)` input.jsonGroup JSON Data
Untuk mengelompokkan data JSON berdasarkan kunci tertentu, gunakan fungsi `group_by`:
jq `group_by(.key)` input.json1jq`group_by(.key)`input.json
For misalnya, untuk mengelompokkan array objek dengan kunci "negara", gunakan:jq `group_by(.country)` input.jsonConclusion
10 perintah JQ esensial teratas ini menawarkan dasar yang kuat untuk pengembang Linux bekerja dengan file JSON. Menguasai perintah ini akan membantu Anda mengurai, memfilter, dan memanipulasi data JSON dengan lebih efisien, yang pada akhirnya meningkatkan alur kerja pengembangan Anda. Saat Anda mendapatkan pengalaman dengan JQ, Anda akan menemukan lebih banyak fitur dan teknik lanjutan yang memenuhi kebutuhan khusus Anda. Alat baris perintah JQ adalah aset tak ternilai bagi pengembang mana pun yang bekerja dengan data JSON di sistem Linux, dan mengetahui hal-hal penting ini akan berfungsi sebagai titik awal yang kuat dalam perjalanan Anda untuk menjadi pengguna kekuatan JQ.
Untuk lebih memperluas pengetahuan JQ Anda, pertimbangkan selami dokumentasi JQ resmi (https://stedolan.github.io/jq/manual/) dan jelajahi sumber daya komunitas, seperti tutorial, postingan blog, dan forum. Saat Anda terus mempertajam keterampilan JQ Anda, Anda akan membuka potensi penuh dari alat pemrosesan JSON yang kuat ini, menjadikannya bagian integral dari perangkat pengembangan Linux Anda.
Referensi tecadmin.com