Adakah yang bisa merekomendasikan parser JSON Unix (pilih selera Anda) yang dapat digunakan untuk mengintrospeksi nilai-nilai dari respons JSON dalam sebuah pipa?
json
parsing
unix
configuration
Jé Queue
sumber
sumber
npm install -g ramda-cli
Jawaban:
Anda bisa menggunakan parser baris perintah ini (yang bisa Anda tambahkan ke alias bash jika Anda mau), menggunakan modul yang ada di inti Perl:
sumber
perl -e "use JSON; print to_json( decode_json(<>), { pretty => 1 } )"
Saya lebih suka
python -m json.tool
yang tampaknya tersedia per default pada kebanyakan * nix sistem operasi per default.Tetapi harus dicatat bahwa ini akan mengurutkan semua kunci secara alfabet, yang merupakan atau bisa menjadi hal yang baik di mana json dihasilkan oleh beberapa bahasa yang menggunakan HashMaps yang tidak diurut ...
sumber
json.tool
hanya tangan pendek untuk mencetak json cantik. Jika Anda perlu mengekstrak / memanipulasi data json dalam skrip shell, saya akan menggunakanjq
yang benar-benar luar biasa pada apa yang dilakukan ...json.tool
sepuluh kali sehari. Saya pikir saya salah membaca arti dari "introspeksi" dalam pertanyaan, terima kasih atas pendapat Anda.json.tool
hanya melakukan dua hal: validasi dan cantik-cetak json. Ini TIDAK mengintrospeksi nilai dalam json sepertijq
halnya.Jika Anda mencari alat kompilasi C portabel:
http://stedolan.github.com/jq/
Dari situs web:
Tutorial : http://stedolan.github.com/jq/tutorial/
Manual : http://stedolan.github.com/jq/manual/
Unduh : http://stedolan.github.com/jq/download/
sumber
apt install jq
.jq
.Saya telah membuat modul yang dirancang khusus untuk manipulasi JSON baris perintah:
https://github.com/ddopson/underscore-cli
Ini memungkinkan Anda melakukan hal-hal hebat dengan sangat mudah:
Dan ia memiliki salah satu dari format JSON "smart-whitespace" terbaik:
Jika Anda memiliki permintaan fitur, komentari posting ini atau tambahkan masalah di github. Saya akan dengan senang hati memprioritaskan fitur yang dibutuhkan oleh anggota komunitas.
sumber
wget
setiap URL.underscore
parsing nested json yang memiliki objek dan array yang bersarang?Periksa TickTick .
Ini adalah parser Bash JSON sejati.
sumber
Ada juga toolkit pemrosesan baris perintah JSON jika Anda memiliki node.js dan npm di tumpukan Anda.
Dan perintah "json" lain untuk memijat JSON pada baris perintah Unix Anda.
Dan inilah alternatif lain:
Terkait: Alat baris perintah untuk mem-parsing input JSON untuk Unix?
sumber
npm install json
.json
tampaknya diambil alih oleh paket yang sama sekali berbeda sekarang.Adakah yang menyebut Jshon atau JSON.sh?
https://github.com/keenerd/jshon
pipe json untuk itu, dan itu melintasi objek json dan mencetak jalan ke objek saat ini (sebagai array JSON) dan kemudian objek, tanpa spasi.
http://kmkeen.com/jshon/
Jshon memuat teks json dari stdin, melakukan tindakan, kemudian menampilkan tindakan terakhir di stdout dan juga dibuat menjadi bagian dari pipa pemrosesan teks yang biasa.
sumber
brew install jshon
,cat *.json | jshon
Anda dapat mencoba jsawk seperti yang disarankan dalam jawaban ini .
Benar-benar Anda bisa menyiapkan skrip python cepat untuk melakukan ini.
sumber
Untuk Bash / Python , berikut ini adalah pembungkus dasar sekitar python
simplejson
:Ini benar-benar hanya menangani gaya data yang bersarang-kamus, tetapi berfungsi untuk apa yang saya butuhkan, dan berguna untuk berjalan melalui json. Mungkin bisa disesuaikan dengan selera.
Pokoknya, sesuatu yang dibuat sendiri bagi mereka yang tidak ingin sumber dalam ketergantungan eksternal lain. Kecuali python, tentu saja.
Ex.
json_parser {field1} {field2}
akan berjalanprint myjson['{field1}']['{field2}']
, menghasilkan kunci atau nilai yang terkait dengan{field2}
, dipisahkan oleh spasi.sumber
Saya baru saja membuat jkid yang merupakan penjelajah json command-line kecil yang saya buat untuk dengan mudah menjelajahi objek json besar. Objek dapat dieksplorasi "transversal" dan opsi "pratinjau" ada untuk menghindari konsol overflow.
sumber
jkid
di mac?