2 poin oleh GN⁺ 2023-12-10 | 1 komentar | Bagikan ke WhatsApp

Ringkasan konverter JSON JC

  • jc mengubah output dari alat CLI, tipe file, dan string umum ke format JSON sehingga lebih mudah diparse dalam skrip.
  • Melalui contoh perintah dig, Anda dapat melihat output yang telah dikonversi ke format JSON, lalu memprosesnya lebih lanjut dengan alat seperti jq atau jello.
  • Juga dapat digunakan sebagai pustaka Python; dalam hal ini, alih-alih JSON, ia mengembalikan dictionary Python, daftar dictionary, atau objek iterable malas dari dictionary.

Cara memasang konverter JSON JC

  • Dapat dipasang melalui pip, repositori paket OS, atau unduhan biner.
  • Menyediakan perintah instalasi untuk berbagai distribusi Linux, macOS, dan FreeBSD.

Cara menggunakan konverter JSON JC

  • Menerima input yang di-pipe dari STDIN dan menampilkan output dari perintah sebelumnya ke STDOUT dalam format JSON.
  • Dapat dikonversi dengan menambahkan jc di depan perintah menggunakan sintaks "magic", atau digunakan di depan path file /proc.
  • Berbagai opsi parser dan fitur slice memungkinkan penyesuaian format output serta pemrosesan baris tertentu.

Fitur konverter JSON JC

  • Menyediakan representasi data default dan mentah, serta mengonversi angka yang dikenali menjadi nilai JSON int/float sesuai skema.
  • Dengan opsi --raw atau parameter raw=True, Anda dapat mengakses JSON mentah yang telah dipraproses.
  • Parser streaming memungkinkan pemrosesan output perintah dalam jumlah besar secara efisien dalam penggunaan memori.

Pentingnya konverter JSON JC

  • Motivasi proyek untuk membawa filosofi Unix ke abad ke-21 serta berbagai kasus penggunaannya dapat dilihat di posting blog dan wawancara.
  • Berguna untuk parsing output perintah di berbagai lingkungan seperti skrip Bash, Ansible, Saltstack, Nornir, dan FortiSOAR.

Kompatibilitas konverter JSON JC

  • Beberapa parser bekerja lintas platform, sedangkan parser yang mengonversi output khusus platform dapat menghasilkan pesan peringatan kompatibilitas.
  • Semua informasi parser dapat diperiksa dengan menjalankan jc -ap.

Cara berkontribusi pada konverter JSON JC

  • Kontribusi untuk penambahan/perbaikan kode atau parser sangat disambut; Anda dapat menggunakan jc/parsers/foo.py atau jc/parsers/foo_s.py sebagai templat dan mengirimkan pull request.

Pendapat GN⁺

Hal terpenting dari tulisan ini adalah bahwa jc dapat mengubah output dari berbagai perintah, tipe file, dan string menjadi JSON sehingga bisa diproses secara terprogram. Ini memudahkan pengembang dalam menangani data, dan sangat berguna terutama saat melakukan scripting di lingkungan Unix dan Linux. Alasan tulisan ini menarik adalah karena jc merupakan alat yang dapat secara signifikan meningkatkan otomasi dan efisiensi dalam pengembangan perangkat lunak serta administrasi sistem.

1 komentar

 
GN⁺ 2023-12-10
Opini Hacker News
  • Menyelesaikan masalah konversi output perintah ke format JSON di FreeBSD dengan menggunakan pustaka libxo

    • Perintah ls didukung, tetapi ada kasus dukungannya dihapus
    • Tidak didukung oleh semua utilitas
    • PowerShell secara bawaan menyediakan output terstruktur
    • Muncul kebutuhan standarisasi flag --json juga di Unix/Linux
  • Menyampaikan kekhawatiran tentang sulitnya pemeliharaan

    • Diperkirakan pemeliharaan akan sulit karena pengelolaan versi, perubahan flag perintah, dan sebagainya
    • Cara penggunaan alat --<CMD> bisa membuat bantuan/manual menjadi lebih rumit
  • Memperkenalkan alat bernama Nushell

    • Pendekatan yang menyediakan data terstruktur dari shell itu sendiri
  • Penilaian positif terhadap dukungan output JSON pada alat CLI

    • Dalam praktiknya memang berformat JSON, tetapi sering kali rumit atau tidak perlu sehingga kegunaannya dipertanyakan
  • Opini tentang cara penggunaan alat jc

    • jc dig example.com seharusnya menjadi cara penggunaan utama yang lebih baik dibanding dig example.com | jc --dig
  • Menyatakan preferensi terhadap semua output di PowerShell yang berbentuk objek

    • Fitur itu dirindukan saat menulis skrip Bash
  • Menyampaikan rasa hormat kepada orang yang menangani pemeliharaan alat jc

  • Pertanyaan tentang daftar alat perintah Unix modern yang menerima opsi --json

    • Menambahkan informasi tersebut ke repositori bisa berguna
  • Menunjukkan cacat desain Unix

    • Program perintah hanya mengeluarkan kode keluar bertipe integer kepada program pemanggil
    • Saat program GUI memanggil program perintah, informasi yang didapat sangat terbatas
  • Mengungkapkan keheranan karena tidak menggunakan textfsm

    • textfsm banyak digunakan untuk mem-parsing output CLI perangkat jaringan