Wenn ich in meinem Unix-Shell-Skript einen Curl-Befehl ausführe, wird das Ergebnis wie folgt angezeigt: Ich leite es in die Datei um:
{"type":"Show","id":"123","title":"name","description":"Funny","channelTitle":"ifood.tv","lastUpdateTimestamp":"2014-04-20T20:34:59","numOfVideos":"15"}
Ich möchte jedoch, dass diese Ausgabe im lesbaren JSON-Format wie unten in der Datei angezeigt wird:
{"type":"Show",
"id":"123",
"title":"name",
"description":"Funny",
"channelTitle":"ifood.tv",
"lastUpdateTimestamp":"2014-04-20T20:34:59",
"numOfVideos":"15"}
Wie formatiere ich die Ausgabe auf diese Weise?
json_pp
scheint Daten in umgekehrter Reihenfolge zu formatieren als erwartet. Gibt es eine Möglichkeit, Daten rückgängig zu machen?Ich vermute, dass Sie die JSON-Ausgabe verschönern möchten. Dies könnte mit Python erreicht werden:
curl http://localhost:8880/test.json | python -mjson.tool > out.json
quelle
head
Befehl die Ausgabe abschneidet, die vor dem Ende an sie weitergeleitet wird, wodurch die Leitung "gebrochen" wird. Wenn Sie zulassenhead
, dass der gesamte Datenstrom aus der Pipe verwendet wird, wird der Fehler voraussichtlich nicht angezeigt.kann auch helfen.
quelle
Sie können dieses Knotenmodul verwenden
[sudo] npm i -g json
;; // Schlage vor, kein Root-Privileg zu verwenden, um das Knotenmodul zu installierendann einfach
|json
nach dem locken anhängen .curl http://localhost:8880/test.json |json
quelle
Dies ist eine Ergänzung zu Gilles 'Antwort. Es gibt viele Möglichkeiten, dies zu erreichen, aber ich persönlich bevorzuge etwas Leichtes, leicht zu merkendes und universell verfügbares (z. B. mit Standard-LTS-Installationen Ihrer bevorzugten Linux-Version oder einfach zu installieren) auf gängigen * nix-Systemen.
Hier sind die Optionen in ihrer bevorzugten Reihenfolge:
Python Json.tool-Modul
jq (erfordert möglicherweise eine einmalige Installation)
json_pp (verfügbar in Ubuntu 16.04 LTS)
Für Ruby-Benutzer
quelle
cat myFile.json | python -mjson.tool >> myFilePretty.json
dann in meinem Editor geöffnet (vim, hasse nicht) und habe Farben bekommen.Ich fand json_reformat sehr praktisch. Also habe ich einfach folgendes gemacht:
das ist es!
quelle
Schauen Sie sich curljson an
quelle
Motivation: Sie möchten eine hübsche JSON-Antwort nach einer Curl-Befehlsanforderung drucken.
Lösung : json_pp - Befehlszeilentool , das zwischen einigen Eingabe- und Ausgabeformaten konvertiert (eines davon ist JSON). Dieses Programm wurde von json_xs kopiert und geändert. Das Standardeingabeformat ist json und das Standardeingabeformat ist json mit hübscher Option.
Synposis :
json_pp [-v] [-f from_format] [-t to_format] [-json_opt options_to_json1[,options_to_json2[,...]]]
Formel :
<someCommand> | json_pp
Beispiel :
Anfrage
Antwort
quelle