Parseur JSON en bash
Droit au but:
Vous aimeriez pouvoir parser un fichier json simplement avec une commande bash ? Voici un moyen élégant avec nodejs de le faire.
Il vous faudra avoir installé nodejs et le package manager npm. Pour le faire :
$ sudo apt-get install nodejs npm
$ sudo npm install -g json
Vous avez maintenant accès à une commande json directement dans votre shell et du coup pour formatter un fichier json
$ echo '{"foo":"bar"}' | json
>>> {
>>> "foo": "bar"
>>> }
On peut aller un peu plus loin en
$ curl -s https://raw.githubusercontent.com/google/google-api-php-client/master/composer.json | json
Pour extraire simplement la section 'require'
$ curl -s https://raw.githubusercontent.com/google/google-api-php-client/master/composer.json | json require
Pour extraire les sections 'require' et 'require-dev'
$ curl -s https://raw.githubusercontent.com/google/google-api-php-client/master/composer.json | json require require-dev
On peut aussi extraire des informations sous forme de tableau facilement du json
$echo '[{"name":"alice", "age": "32"},{"name":"bob", "age":"28"}]' | json -ga name age
>>> alice 32
>>> bob 28
Pour lister toutes les options de la commande
$ json --help
Parser Json en bash, merci docker
Il suffit de récupérer l'image
$ docker pull goovy/jsonparser
puis pour l'utiliser:
$ curl -s https://raw.githubusercontent.com/google/google-api-php-client/master/composer.json | dojson require
en utilisant l'alias dojson qui remplace la commande docker run -i --rm goovy/jsonparser json
.