Parsing JSON da terminale in Linux con jq
Per visualizzare JSON remoti con Linux, ci basterebbe cURL.
Ma questo non ha opzioni di formattazione, filtro, ecc.
Per operazioni più avanzate possiamo usare jq!
Per installarlo su Debian:
# aptitude install jq
Su Arch Linux:
# pacman -Sy jq
A questo punto vediamo qualche esempio; cominciate a visualizzare l'output senza jq:
$ curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=2'
Adesso vediamo lo stesso output con jq:
$ curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=2' | jq '.'
Il filtro che abbiamo usato ('.') è il più semplice, e corrisponde a non avere filtri in pratica.
Volendo possiamo indicare un indice preciso da visualizzare:
$ curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=2' | jq '.[0]'
O anche un range:
$ curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=2' | jq '.[3:6]'
Ovviamente sono esempi basici; il programma può fare decisamente di più.
Enjoy!
linux json jq curl debian arch linux
Commentami!