3647 Stimmen

Wie kann ich JSON in einem Shell-Skript hübsch ausdrucken?

Gibt es ein (Unix-)Shell-Skript zur Formatierung von JSON in menschenlesbarer Form?

Im Grunde genommen möchte ich, dass es das Folgende umwandelt:

{ "foo": "lorem", "bar": "ipsum" }

... zu etwas wie diesem:

{
    "foo": "lorem",
    "bar": "ipsum"
}

0 Stimmen

10 Stimmen

Ich habe vor einiger Zeit meine eigenen gedreht: github.com/exhuma/braindump/tree/master/jsonformat Der Code ist sehr einfach und verwendet Python's eigene json Bibliothek, aber ich habe auch pygments hinzugefügt, um eine Syntaxhervorhebung zu erhalten.

0 Stimmen

Ich bin über diese Seite gestolpert und habe dann Folgendes gefunden Json Hübsch und ich mag es sehr. Typekit verwendet es in ihren API-Beispielen, so gibt es einige klout hinter ihm ^^

3voto

Wu Yongzheng Punkte 1657

Ich bin der Autor von json-liner . Es ist ein Kommandozeilentool, das JSON in ein grep-freundliches Format umwandelt. Probieren Sie es aus.

$ echo '{"a": 1, "b": 2}' | json-liner
/%a 1
/%b 2
$ echo '["foo", "bar", "baz"]' | json-liner
/@0 foo
/@1 bar
/@2 baz

3voto

lev Punkte 2467
gem install jsonpretty
echo '{"foo": "lorem", "bar": "ipsum"}' | jsonpretty

Auch diese Methode " Erkennt HTTP-Antworten/Kopfzeilen, gibt sie unverändert aus und springt zu den Body (zur Verwendung mit `curl -i') " .

2voto

Yada Punkte 28791

Wenn es Ihnen nichts ausmacht, ein Tool eines Drittanbieters zu verwenden, können Sie einfach locken. a jsonprettyprint.org . Dies ist für den Fall, dass Sie keine Pakete auf dem Rechner installieren können.

curl -XPOST https://jsonprettyprint.org/api -d '{"user" : 1}'

0 Stimmen

Um stdin zu diesem Befehl zu leiten, gehen Sie wie folgt vor: echo '{ "foo": "lorem", "bar": "ipsum" }' | curl -XPOST https://jsonprettyprint.org/api -d @-

1voto

chronos Punkte 444

1voto

Reino Punkte 2366

Sie können verwenden xidel .

Xidel ist ein Kommandozeilen-Tool zum Herunterladen und Extrahieren von Daten aus HTML/XML-Seiten oder JSON-APIs, unter Verwendung von CSS, XPath 3.0, XQuery 3.0, JSONiq oder Mustervorlagen. Es kann auch neue oder umgewandelte XML/HTML/JSON-Dokumente erstellen.

Xidel druckt standardmäßig hübsch:

$ xidel -se '$json' <<< '{"foo":"lorem","bar":"ipsum"}'
{
  "foo": "lorem",
  "bar": "ipsum"
}

oder:

$ echo '{"foo":"lorem","bar":"ipsum"}' | xidel -se '$json'
{
  "foo": "lorem",
  "bar": "ipsum"
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X