Perintah 10 JQ teratas setiap pemaju linux harus tahu
- 4308
- 51
- Jerome Quitzon
JQ adalah pemproses JSON baris perintah yang serba boleh untuk Linux yang membolehkan pemaju menghuraikan, menapis, dan mengubah data JSON dengan cepat dan cekap. Ciri -ciri kuatnya menjadikannya alat yang sangat diperlukan untuk sesiapa yang bekerja dengan fail JSON di Linux Systems. Dalam artikel ini, kami akan meliputi 10 perintah JQ penting teratas bahawa setiap pemaju Linux perlu tahu untuk menyelaraskan tugas pemprosesan JSON mereka.
Contoh kandungan fail json
Untuk tutorial ini, anda boleh menggunakan contoh data JSON berikut dalam fail yang dinamakan input.json. Data JSON ini mewakili pelbagai orang dengan nama, umur, negara, dan alamat masing -masing:
["Nama": "Alice", "Umur": 35, "Negara": "USA", "Alamat": "Street": "123 Main St", "City": "New York", "Negeri ":" Ny "," zip ":" 10001 ", " name ":" bob "," umur ": 28," negara ":" canada "," alamat ": " jalan ":" 456 Maple ave "," City ":" Toronto "," Province ":" On "," Postal_Code ":" m5v 1a1 ", " name ":" charlie "," umur ": 42," negara ": "USA", "Alamat": "Street": "789 Oak St", "City": "San Francisco", "State": "Ca", "Zip": "94102", "Nama" : "David", "Umur": 23, "Negara": "Kanada", "Alamat": "Street": "321 Pine St", "City": "Vancouver", "Wilayah": "BC", "postal_code": "v6b 2p4"]12345678910111213141516171819202122223242526272829303132333435363737383940414243444546 | ["Nama": "Alice", "Umur": 35, "Negara": "USA", "Alamat": "Street": "123 Main St", "City": "New York", "Negeri ":" Ny "," zip ":" 10001 ", " name ":" bob "," umur ": 28," negara ":" canada "," alamat ": " jalan ":" 456 Maple ave "," City ":" Toronto "," Province ":" On "," Postal_Code ":" m5v 1a1 ", " name ":" charlie "," umur ": 42," negara ": "USA", "Alamat": "Street": "789 Oak St", "City": "San Francisco", "State": "Ca", "Zip": "94102", "Nama" : "David", "Umur": 23, "Negara": "Kanada", "Alamat": "Street": "321 Pine St", "City": "Vancouver", "Wilayah": "BC", "postal_code": "v6b 2p4"] |
Simpan kandungan JSON ini dalam fail yang dinamakan "Input.json ” dan gunakannya sebagai input untuk pelbagai arahan JQ dalam tutorial. Data sampel ini akan membantu anda memahami dan mengamalkan arahan dan teknik JQ yang berbeza yang digariskan dalam artikel.
10 Contoh Perintah JQ untuk Pemaju Linux
- Data JSON Cetak Cantik
Untuk mencetak data JSON yang cantik, lulus fail JSON ke arahan JQ diikuti dengan tempoh (
.
):jq '.'Input.json
- Dapatkan kunci JSON tertentu
Untuk mengekstrak nilai kunci tertentu dari objek JSON, gunakan sintaks berikut:
jq '.input kunci.json1 jq '.input kunci.json Contohnya, untuk mengekstrak nilai "Nama" Kunci, Gunakan:
jq '.Nama '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 Contohnya, untuk mengekstrak nilai "Bandar” Kunci bersarang di bawah "Alamat", Gunakan:
jq '.alamat.input bandar.json
- Melewati tatasusunan json
Gunakan kurungan persegi (
[]
) untuk melangkah ke atas susunan JSON:jq '.[] 'input.json
Untuk mengekstrak kunci tertentu dari setiap objek dalam array, gunakan paip (
|
) pengendali:jq '.[] | .input kunci.json
- Penapis data JSON
Untuk menapis data JSON berdasarkan keadaan tertentu, gunakan fungsi pilih:
jq '.[] | pilih (.kunci == "nilai") 'input.json1 jq '.[] | pilih (.kunci == "nilai") 'input.json Contohnya, untuk menapis objek dalam array dengan "Umur" lebih besar daripada 30, Gunakan:
jq '.[] | pilih (.umur> 30) 'input.json
- Peta dan mengubah data JSON
Untuk memetakan dan mengubah data JSON, gunakan pendakap keriting (
jq '.[] | key1: .KEY1, KEY2: .input key2 '.json):
1 jq '.[] | key1: .KEY1, KEY2: .input key2 '.json Contohnya, untuk membuat objek JSON baru dengan hanya "Nama" dan "Umur" Kekunci, Gunakan:
jq '.[] | nama: .nama, umur: .umur 'input.json
- Menggabungkan pelbagai fail JSON
Untuk menggabungkan dua fail JSON, gunakan
*
Operator:jq -s '.[0] * .[1] 'File1.JSON FILE2.json
- Melakukan operasi aritmetik
JQ boleh melakukan operasi aritmetik pada nilai JSON berangka:
jq '.nombor 1 + .Input Nombor2 '.json1 jq '.nombor 1 + .Input Nombor2 '.json Sebagai contoh, untuk mengira jumlah dua nombor dalam fail JSON, gunakan:
jq '.nombor 1 + .Input Nombor2 '.json
- Susun data JSON
Untuk menyusun data JSON berdasarkan kunci tertentu, gunakan 'disusun mengikut' fungsi:
jq '.[] | disusun mengikut(.kunci) 'input.json1 jq '.[] | disusun mengikut(.kunci) 'input.json Contohnya, untuk menyusun pelbagai objek oleh "Umur" Kunci, Gunakan:
jq '.[] | disusun mengikut(.umur) 'input.json
- Data JSON Kumpulan
Untuk kumpulan data JSON berdasarkan kunci tertentu, gunakan 'Group_by' fungsi:
jq 'Group_by (.kunci) 'input.json1 jq 'Group_by (.kunci) 'input.json Contohnya, untuk mengumpulkan pelbagai objek oleh "Negara" Kunci, Gunakan:
jq 'Group_by (.negara) 'input.json
Kesimpulan
Perintah JQ Essential Top 10 ini menawarkan asas yang kukuh untuk pemaju Linux yang bekerja dengan fail JSON. Menguasai arahan ini akan membantu anda menghuraikan, menapis, dan memanipulasi data JSON dengan lebih cekap, akhirnya meningkatkan aliran kerja pembangunan anda.
Apabila anda mendapat pengalaman dengan JQ, anda akan menemui ciri dan teknik yang lebih canggih yang memenuhi keperluan khusus anda. Alat baris arahan JQ adalah aset yang tidak ternilai bagi mana-mana pemaju yang bekerja dengan data JSON mengenai sistem Linux, dan mengetahui keperluan ini akan berfungsi sebagai titik permulaan yang kuat dalam perjalanan anda untuk menjadi pengguna kuasa JQ.
Untuk memperluaskan pengetahuan JQ anda, pertimbangkan menyelam ke dalam dokumentasi JQ rasmi (https: // stedolan.github.io/jq/manual/) dan meneroka sumber komuniti, seperti tutorial, catatan blog, dan forum. Semasa anda terus mempertajam kemahiran JQ anda, anda akan membuka potensi penuh alat pemprosesan JSON yang kuat ini, menjadikannya sebahagian daripada toolkit pembangunan linux anda.