Perintah 10 JQ teratas yang harus diketahui setiap pengembang Linux
- 1246
- 215
- John Ratke
JQ adalah prosesor JSON baris perintah yang serba guna untuk Linux yang memungkinkan pengembang untuk menguraikan, memfilter, dan mengubah data JSON dengan cepat dan efisien. Fitur -fiturnya yang kuat 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 Essential Top yang harus diketahui setiap pengembang Linux untuk merampingkan tugas pemrosesan JSON mereka.
Contoh konten file json
Untuk tutorial ini, Anda dapat menggunakan contoh data JSON berikut dalam file bernama memasukkan.json. Data JSON ini mewakili berbagai orang dengan nama, usia, negara, dan alamat masing -masing:
["Name": "Alice", "Age": 35, "Country": "USA", "Alamat": "Street": "123 Main St", "City": "New York", "State ":" Ny "," zip ":" 10001 ", " name ":" bob "," era ": 28," country ":" canada "," address ": " street ":" 456 Maple Ave "," City ":" Toronto "," Province ":" On "," Possal_Code ":" M5V 1A1 ", " Nama ":" Charlie "," Age ": 42," Country ": "USA", "Alamat": "Street": "789 Oak St", "City": "San Francisco", "State": "Ca", "Zip": "94102", "Nama" : "David", "Age": 23, "Country": "Canada", "Alamat": "Street": "321 Pine St", "City": "Vancouver", "Provinsi": "BC", "postal_code": "v6b 2p4"]12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | ["Name": "Alice", "Age": 35, "Country": "USA", "Alamat": "Street": "123 Main St", "City": "New York", "State ":" Ny "," zip ":" 10001 ", " name ":" bob "," era ": 28," country ":" canada "," address ": " street ":" 456 Maple Ave "," City ":" Toronto "," Province ":" On "," Possal_Code ":" M5V 1A1 ", " Nama ":" Charlie "," Age ": 42," Country ": "USA", "Alamat": "Street": "789 Oak St", "City": "San Francisco", "State": "Ca", "Zip": "94102", "Nama" : "David", "Age": 23, "Country": "Canada", "Alamat": "Street": "321 Pine St", "City": "Vancouver", "Provinsi": "BC", "postal_code": "v6b 2p4"] |
Simpan konten JSON ini dalam file bernama "memasukkan.json " dan menggunakannya sebagai input untuk berbagai perintah jq dalam tutorial. Data sampel ini akan membantu Anda lebih memahami dan mempraktikkan berbagai perintah dan teknik JQ yang diuraikan dalam artikel.
10 Contoh Perintah JQ untuk Pengembang Linux
- Data JSON Cetak Cantik
Untuk mencetak data JSON, cukup lewati file JSON ke perintah JQ diikuti oleh suatu periode (
.
):jq '.' memasukkan.json
- Mengambil kunci JSON tertentu
Untuk mengekstrak nilai kunci tertentu dari objek JSON, gunakan sintaks berikut:
jq '.input kunci '.json1 jq '.input kunci '.json Misalnya, untuk mengekstraksi nilai "nama" kunci, gunakan:
jq '.name 'input.json
- Akses Nilai JSON bersarang
Untuk mengakses nilai JSON bersarang, gunakan titik (
jq '.key1.Key2.input key3 '.json.
) Notasi:1 jq '.key1.Key2.input key3 '.json Misalnya, untuk mengekstraksi nilai "kota" Kunci bersarang di bawah "alamat", menggunakan:
jq '.alamat.masukan kota.json
- ITerate Over JSON Arrays
Gunakan tanda kurung persegi (
[]
) untuk mengulangi array JSON:jq '.[]' memasukkan.json
Untuk mengekstrak kunci spesifik dari setiap objek dalam array, gunakan pipa (
|
) operator:jq '.[] | .input kunci '.json
- Filter data JSON
Untuk memfilter data JSON berdasarkan kondisi tertentu, gunakan fungsi SELECT:
jq '.[] | Pilih(.kunci == "nilai") 'input.json1 jq '.[] | Pilih(.kunci == "nilai") 'input.json Misalnya, untuk memfilter objek dalam array dengan "usia" lebih besar dari 30, menggunakan:
jq '.[] | Pilih(.Usia> 30) input.json
- Peta dan mengubah data JSON
Untuk memetakan dan mengubah data JSON, gunakan kawat gigi keriting (
jq '.[] | key1: .Key1, Key2: .input key2 '.json):
1 jq '.[] | key1: .Key1, Key2: .input key2 '.json Misalnya, untuk membuat objek JSON baru dengan hanya "nama" Dan "usia" kunci, gunakan:
jq '.[] | nama: .Nama, Umur: .Usia 'input.json
- Gabungkan beberapa file JSON
Untuk menggabungkan dua file JSON, gunakan
*
operator:jq -s '.[0] * .[1] 'file1.JSON File2.json
- Melakukan operasi aritmatika
JQ dapat melakukan operasi aritmatika pada nilai JSON numerik:
jq '.nomor 1 + .input number2 '.json1 jq '.nomor 1 + .input number2 '.json Misalnya, untuk menghitung jumlah dua angka dalam file JSON, gunakan:
jq '.nomor 1 + .input number2 '.json
- Urutkan data JSON
Untuk mengurutkan data JSON berdasarkan kunci tertentu, gunakan 'Sortir dengan' fungsi:
jq '.[] | Sortir dengan(.kunci) 'input.json1 jq '.[] | Sortir dengan(.kunci) 'input.json Misalnya, untuk mengurutkan array objek berdasarkan "usia" kunci, gunakan:
jq '.[] | Sortir dengan(.usia) 'masukan.json
- Mengelompokkan data JSON
Untuk mengelompokkan data JSON berdasarkan kunci tertentu, gunakan 'group_by' fungsi:
jq 'group_by (.kunci) 'input.json1 jq 'group_by (.kunci) 'input.json Misalnya, untuk mengelompokkan array objek dengan "negara" kunci, gunakan:
jq 'group_by (.negara) 'masukan.json
Kesimpulan
Perintah JQ Essential Top 10 Essential ini menawarkan fondasi yang kuat untuk pengembang Linux yang bekerja dengan file JSON. Menguasai perintah -perintah ini akan membantu Anda menguraikan, memfilter, dan memanipulasi data JSON lebih efisien, pada akhirnya meningkatkan alur kerja pengembangan Anda.
Saat Anda mendapatkan pengalaman dengan JQ, Anda akan menemukan fitur dan teknik yang lebih canggih yang memenuhi kebutuhan spesifik Anda. Alat baris perintah JQ adalah aset yang sangat berharga bagi setiap pengembang yang bekerja dengan data JSON pada sistem Linux, dan mengetahui hal-hal penting ini akan berfungsi sebagai titik awal yang kuat dalam perjalanan Anda untuk menjadi pengguna JQ Power.
Untuk lebih memperluas pengetahuan JQ Anda, pertimbangkan untuk menyelam ke dokumentasi JQ resmi (https: // stedolan.GitHub.io/jq/manual/) dan menjelajahi sumber daya masyarakat, seperti tutorial, posting 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 toolkit pengembangan Linux Anda.
- « Memahami 2> & 1 dalam Bash A Beginner's Guide
- Memahami perbedaan antara 'tarik git' dan 'git fetch' »