Cum se parsează linia json în linia de comandă linux

Cum se parsează linia json în linia de comandă linux

Dacă lucrați de multe ori cu textul JSON din linia de comandă sau în scripturi shell, s-ar putea întreba dacă există un fel de linie de comandă de utilitate, care poate analiza JSON-string. Consola JSON-parser poate fi convenabilă atunci când testați sau depanați serviciile de rețea JSON. Puteți alimenta răspunsurile JSON dintr-un serviciu web consolă JSON și, astfel, ușor de învățat dificil de citit JSON-răspunsuri sau pentru a le scoate din obiecte individuale.







În acest tutorial, vă vom arăta cum să analizați șirul JSON din linia de comandă.







În Linux, există un procesor JSON consola jq. care face ceea ce avem nevoie. Folosind jq, aveți posibilitatea să analizați, să filtrați, să cartografiați și să transformați structura de date JSON fără prea mult efort.

Instalați jq din depozitul distribuției dvs. Linux.

Pentru Debian și Ubuntu:


De asemenea, puteți instala jq prin simpla descărcare a sistemului binar (disponibil separat pentru sistemele pe 32 de biți și 64 de biți), după cum se arată mai jos.


Binarul jq este de asemenea disponibil pentru platformele Windows, OS X și Solaris, iar codul sursă complet este lansat sub licența MIT.

Următoarele exemple arată cum să analizăm structura de date JSON folosind jq.

Pentru a analiza obiectul JSON:

Pentru a analiza obiectul JSON încorporat:

Pentru a analiza matricea JSON:

Pentru a extrage câmpuri specifice dintr-un obiect JSON:

Dacă JSON mare și structura sa nu este clar (de exemplu: răspuns AWS API) pot fi utilizate github.com/ilyash/show-struct (dezvoltarea mea), care prezintă o structură posibile argumente (căi) pentru JQ.

O soluție mai radicală pentru a lucra cu date structurate într-un shell: ... Shell care acceptă date structurate și nu are nevoie de JQ. Lucrez la: github.com/ilyash/ngs. Exemplu: instanțe = `` aws ec2 descrie-instanțe $ * filtre``







Trimiteți-le prietenilor: