Perintah 10 JQ teratas setiap pemaju linux harus tahu

Perintah 10 JQ teratas setiap pemaju linux harus tahu

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

  1. Data JSON Cetak Cantik
  2. Untuk mencetak data JSON yang cantik, lulus fail JSON ke arahan JQ diikuti dengan tempoh (.):

    jq '.'Input.json  

  3. Dapatkan kunci JSON tertentu
  4. Untuk mengekstrak nilai kunci tertentu dari objek JSON, gunakan sintaks berikut:

    jq '.input kunci.json
    1jq '.input kunci.json

    Contohnya, untuk mengekstrak nilai "Nama" Kunci, Gunakan:

    jq '.Nama 'Input.json  

  5. Akses nilai JSON bersarang
  6. Untuk mengakses nilai JSON bersarang, gunakan titik (.) notasi:

    jq '.KEY1.KEY2.input key3 '.json
    1jq '.KEY1.KEY2.input key3 '.json

    Contohnya, untuk mengekstrak nilai "Bandar” Kunci bersarang di bawah "Alamat", Gunakan:

    jq '.alamat.input bandar.json  

  7. Melewati tatasusunan json
  8. 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  

  9. Penapis data JSON
  10. Untuk menapis data JSON berdasarkan keadaan tertentu, gunakan fungsi pilih:

    jq '.[] | pilih (.kunci == "nilai") 'input.json
    1jq '.[] | pilih (.kunci == "nilai") 'input.json

    Contohnya, untuk menapis objek dalam array dengan "Umur" lebih besar daripada 30, Gunakan:

    jq '.[] | pilih (.umur> 30) 'input.json  

  11. Peta dan mengubah data JSON
  12. Untuk memetakan dan mengubah data JSON, gunakan pendakap keriting ():

    jq '.[] | key1: .KEY1, KEY2: .input key2 '.json
    1jq '.[] | 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  

  13. Menggabungkan pelbagai fail JSON
  14. Untuk menggabungkan dua fail JSON, gunakan * Operator:

    jq -s '.[0] * .[1] 'File1.JSON FILE2.json  

  15. Melakukan operasi aritmetik
  16. JQ boleh melakukan operasi aritmetik pada nilai JSON berangka:

    jq '.nombor 1 + .Input Nombor2 '.json
    1jq '.nombor 1 + .Input Nombor2 '.json

    Sebagai contoh, untuk mengira jumlah dua nombor dalam fail JSON, gunakan:

    jq '.nombor 1 + .Input Nombor2 '.json  

  17. Susun data JSON
  18. Untuk menyusun data JSON berdasarkan kunci tertentu, gunakan 'disusun mengikut' fungsi:

    jq '.[] | disusun mengikut(.kunci) 'input.json
    1jq '.[] | disusun mengikut(.kunci) 'input.json

    Contohnya, untuk menyusun pelbagai objek oleh "Umur" Kunci, Gunakan:

    jq '.[] | disusun mengikut(.umur) 'input.json  

  19. Data JSON Kumpulan
  20. Untuk kumpulan data JSON berdasarkan kunci tertentu, gunakan 'Group_by' fungsi:

    jq 'Group_by (.kunci) 'input.json
    1jq '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.