Dans mon script shell Unix, lorsque j'exécute une commande curl, le résultat sera affiché comme ci-dessous que je redirige vers le fichier:
{"type":"Show","id":"123","title":"name","description":"Funny","channelTitle":"ifood.tv","lastUpdateTimestamp":"2014-04-20T20:34:59","numOfVideos":"15"}
Mais, je veux que cette sortie mette au format JSON lisible comme ci-dessous dans le fichier:
{"type":"Show",
"id":"123",
"title":"name",
"description":"Funny",
"channelTitle":"ifood.tv",
"lastUpdateTimestamp":"2014-04-20T20:34:59",
"numOfVideos":"15"}
Comment formater la sortie de cette façon?
json_pp
semble formater les données dans l'ordre inverse de celui attendu. Existe-t-il un moyen d'annuler les données?Je suppose que vous voulez embellir la sortie JSON. Cela pourrait être réalisé en utilisant python:
la source
head
commande coupant la sortie qui lui est acheminée avant d'atteindre la fin, "cassant" ainsi le tuyau. Si vous autorisezhead
à consommer l'intégralité du flux de données du canal, je m'attends à ce que l'erreur ne s'affiche pas.peut également aider.
la source
Ceci est à ajouter à la réponse de Gilles. Il existe de nombreuses façons de le faire, mais personnellement, je préfère quelque chose de léger, facile à retenir et universellement disponible (par exemple, livré avec des installations LTS standard de votre saveur Linux préférée ou faciles à installer) sur les systèmes communs * nix.
Voici les options dans leur ordre préféré:
Module Python Json.tool
jq (peut nécessiter une installation unique)
json_pp (disponible dans Ubuntu 16.04 LTS)
Pour les utilisateurs Ruby
la source
cat myFile.json | python -mjson.tool >> myFilePretty.json
puis ouvert dans mon éditeur (vim, ne déteste pas) et j'ai obtenu des couleurs.Vous pouvez utiliser ce module de nœud
[sudo] npm i -g json
; // suggère de ne pas utiliser le privilège root pour installer le module de noeudpuis ajoutez simplement
|json
après la boucle.curl http://localhost:8880/test.json |json
la source
J'ai trouvé que json_reformat était très pratique. Je viens donc de faire ce qui suit:
c'est tout!
la source
Découvrez curljson
la source
Motivation: vous souhaitez imprimer la réponse JSON de prettify après la demande de commande curl.
Solution : json_pp - outil de ligne de commande qui convertit entre certains formats d'entrée et de sortie (l'un d'eux est JSON). Ce programme a été copié de json_xs et modifié. Le format d'entrée par défaut est json et le format de sortie par défaut est json avec une jolie option.
Synposis :
json_pp [-v] [-f from_format] [-t to_format] [-json_opt options_to_json1[,options_to_json2[,...]]]
Formule :
<someCommand> | json_pp
Exemple :
Demande
Réponse
la source