Quelqu'un peut-il recommander un analyseur JSON Unix (choisissez votre saveur) qui pourrait être utilisé pour introspecter les valeurs d'une réponse JSON dans un pipeline?
json
parsing
unix
configuration
File d'attente Jé
la source
la source
npm install -g ramda-cli
Réponses:
Vous pouvez utiliser cet analyseur de ligne de commande (que vous pouvez mettre dans un alias bash si vous le souhaitez), en utilisant des modules intégrés au cœur de Perl:
la source
perl -e "use JSON; print to_json( decode_json(<>), { pretty => 1 } )"
Je préfère
python -m json.tool
ce qui semble être disponible par défaut sur la plupart des systèmes d'exploitation * nix par défaut.Mais il convient de noter que cela triera toutes les clés par ordre alphabétique, ce qui est ou peut être une bonne chose lorsque le json a été généré par un langage utilisant des HashMaps non ordonnés ...
la source
json.tool
est juste un petit coup de main pour imprimer json json. Si vous avez besoin d'extraire / manipuler des données json dans un script shell, j'utiliserais cejq
qui est purement génial à ce qui est fait ...json.tool
dix fois par jour. Je pense que j'ai mal interprété le sens de "introspec" dans la question, merci pour votre remarque.json.tool
ne fait que deux choses: valider et imprimer json. Il n'introspectionne PAS les valeurs dans le json comme lejq
fait.Si vous recherchez un outil compilé C portable:
http://stedolan.github.com/jq/
Depuis le site Web:
Tutoriel : http://stedolan.github.com/jq/tutorial/
Manuel : http://stedolan.github.com/jq/manual/
Téléchargement : http://stedolan.github.com/jq/download/
la source
apt install jq
.jq
.J'ai créé un module spécialement conçu pour la manipulation JSON en ligne de commande:
https://github.com/ddopson/underscore-cli
Cela vous permet de faire des choses puissantes très facilement:
Et il possède l'un des meilleurs formateurs JSON "smart-white" disponibles:
Si vous avez des demandes de fonctionnalités, commentez cet article ou ajoutez un problème dans github. Je serais heureux de donner la priorité aux fonctionnalités dont les membres de la communauté ont besoin.
la source
wget
chaque URL.underscore
pour analyser les json imbriqués ayant des objets et des tableaux imbriqués?Caisse TickTick .
C'est un véritable analyseur Bash JSON.
la source
Il existe également une boîte à outils de traitement de ligne de commande JSON si vous avez node.js et npm dans votre pile.
Et une autre commande "json" pour masser JSON sur votre ligne de commande Unix.
Et voici les autres alternatives:
Connexes: Outil de ligne de commande pour analyser l'entrée JSON pour Unix?
la source
npm install json
.json
semble maintenant être repris par un paquet complètement différent.Quelqu'un a mentionné Jshon ou JSON.sh?
https://github.com/keenerd/jshon
pipe json vers lui, et il parcourt les objets json et imprime le chemin vers l'objet courant (sous forme de tableau JSON), puis l'objet, sans espace.
http://kmkeen.com/jshon/
Jshon charge du texte json à partir de stdin, effectue des actions, puis affiche la dernière action sur stdout et a également été conçu pour faire partie du pipeline de traitement de texte habituel.
la source
brew install jshon
,cat *.json | jshon
Vous pouvez essayer jsawk comme suggéré dans cette réponse .
Vraiment, vous pouvez créer un script python rapide pour le faire.
la source
Pour Bash / Python , voici un wrapper de base autour de python
simplejson
:Il ne gère vraiment que le style de dictionnaire imbriqué des données, mais cela fonctionne pour ce dont j'avais besoin et est utile pour parcourir le json. Il pourrait probablement être adapté au goût.
Quoi qu'il en soit, quelque chose de propre pour ceux qui ne veulent pas se procurer une autre dépendance externe. Sauf pour python, bien sûr.
Ex.
json_parser {field1} {field2}
s'exécuteraitprint myjson['{field1}']['{field2}']
, donnant soit les clés, soit les valeurs associées à{field2}
, séparées par des espaces.la source
Je viens de créer jkid qui est un petit explorateur json en ligne de commande que j'ai créé pour explorer facilement de gros objets json. Les objets peuvent être explorés «transversalement» et une option «aperçu» est là pour éviter le débordement de la console.
la source
jkid
sur Mac?