Loading ...

Parsing JSON da terminale in Linux con jq

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!