Wie kann man json mit jq Standalone drucken?

31

Wenn ich zurzeit eine JSON- Datei mit JQ hübsch ausdrucken möchte , verwende ich Folgendes :

cat file.json | grep jq .

Dennoch würde ich erwarten jq, dass ein Dateiname als Argument akzeptiert wird, ohne dass ich darauf zurückgreifen muss cat.

Die Manpage sagt:

jq [Optionen ...] Filter [Dateien ...]

... Standardmäßig liest jq einen Stream von JSON-Objekten (durch Leerzeichen getrennt) aus stdin. Es können eine oder mehrere Dateien angegeben werden. In diesem Fall liest jq stattdessen Eingaben von diesen.

Noch läuft:

jq file.json

schlägt fehl, indem Kompilierungsfehler ausgelöst werden, für die keine Schlüssel definiert sind.

Wie soll ich die Datei beim Laufen hinzufügen jq?

k0pernikus
quelle

Antworten:

48
jq . file.json

ist, wonach ich gesucht habe. Mir war nicht klar, dass dies .ein Filter und kein Platzhalter für den weitergeleiteten Inhalt ist:

.

Der absolut einfachste (und am wenigsten interessante) Filter ist .. Dies ist ein Filter, der seine Eingabe übernimmt und unverändert als Ausgabe erzeugt.

Und die Manpage macht deutlich, dass der Filter ein erforderliches Argument ist.

k0pernikus
quelle