Bash JSON Viewer — jless & JQ_COLORS Guide
Nutze das kostenlose JSON Pretty Print direkt im Browser – keine Installation erforderlich.
JSON Pretty Print online testen →Wenn du einen bash JSON Viewer zur interaktiven Erkundung statt zum Scripting benötigst, stößt das Standard-Pipe jq . an seine Grenzen — die Ausgabe scrollt über den Terminalanfang hinaus, und bei einer 300-zeiligen API-Antwort gibt es keine Möglichkeit, zurückzunavigieren. Dieser Leitfaden behandelt Tools, die speziell zum interaktiven Anzeigen von JSON im Terminal entwickelt wurden: jless (einklappbarer Baum mit vim-Tastaturnavigation), JQ_COLORS für benutzerdefinierte Farbthemen, jq -C | less -R für farbiges Paging, Shell-Aliase für den täglichen Einsatz, und fx als Node.js-Alternative. Für Scripting, CI/CD und Validierungsworkflows, siehe den begleitenden Leitfaden JSON in Bash formatieren. Für einen installationsfreien Browser-Viewer funktioniert das JSON Pretty Print Tool sofort. Die Beispiele wurden unter Bash 5.x (macOS via Homebrew, Ubuntu 22.04+) getestet und sind mit Bash 3.2+ (macOS-System-Shell) kompatibel.
- •
jless— der beste interaktive JSON Viewer für das Terminal: einklappbarer Baum, vim-Tasten, inkrementelle Suche - •
jq -C . | less -R— farbiger, scrollbarer Pager ohne zusätzliche Installation über jq hinaus - •
JQ_COLORS— Umgebungsvariable, die das ANSI-Farbschema von jq für jeden JSON-Typ anpasst - •
fx— interaktiver JSON Viewer in Node.js mit Mausunterstützung und JavaScript-Filterausdrücken - •
alias jv='jless'— ein einziges Wort macht interaktives Anzeigen zur Muskelgedächtnis-Gewohnheit
Interaktive vs. Skriptbasierte JSON-Anzeige
JSON an jq . zu pipen ist die richtige Wahl, wenn du formatierte Ausgabe für einen kleinen Payload möchtest oder wenn das Ergebnis in einen anderen Befehl fließt. Es ist die falsche Wahl, wenn du eine API-Antwort mit 200 Feldern erkunden musst — die Ausgabe fliegt am Terminalfenster vorbei und lässt dir keine Möglichkeit zu navigieren, Abschnitte einzuklappen oder nach einem bestimmten Feld zu suchen, ohne den Befehl mit einem Filter erneut auszuführen. Interaktive JSON Viewer rendern dieselbe formatierte, farbige Ausgabe in einem persistenten Pager, wo du die Navigation steuerst. Die Daten sind identisch; der Unterschied liegt in der Oberfläche.
# jq . — Ausgabe scrollt bei großen Antworten vom Bildschirm curl -s https://api.github.com/users/torvalds | jq . # Über 300 Zeilen scrollen vorbei — Kontext geht sofort verloren
# jless — öffnet einen interaktiven Pager, nichts scrollt vom Bildschirm curl -s https://api.github.com/users/torvalds | jless # Gesamtes Dokument sichtbar, einklappbar, durchsuchbar mit j/k/h/l
jq mit expliziten Filtern und Exit-Code-Behandlung. Der Leitfaden JSON in Bash formatieren behandelt diese Scripting-Muster.jless — Interaktiver JSON Viewer
jless ist ein eigens für diesen Zweck entwickelter Terminal-JSON-Viewer. Anders als ein einfaches jq-Pipe rendert er das Dokument als persistenten einklappbaren Baum: Jedes Objekt und Array kann unabhängig mit l und h aus- oder eingeklappt werden, die Navigation verwendet vim-Tasten, und die inkrementelle Suche findet jeden Schlüssel oder Wert sofort. Eingabe wird inkrementell gestreamt, sodass große Dateien und API-Antworten unabhängig von der Größe in unter einer Sekunde geöffnet werden — während jq das gesamte Dokument puffert, bevor es etwas anzeigt. Ich greife instinktiv auf jless zurück, sobald eine API-Antwort zu groß ist, um sie auf einen Blick zu erfassen.
Installation
# macOS brew install jless # Linux — vorkompiliertes Binary von GitHub Releases curl -sL https://github.com/PaulJuliusMartinez/jless/releases/latest/download/jless-x86_64-unknown-linux-gnu.tar.gz \ | tar xz sudo mv jless /usr/local/bin/ # Überprüfen jless --version
Grundlegende Verwendung
# Lokale Datei öffnen — interaktiver Baum-Viewer startet sofort jless api-response.json # Beliebigen JSON-Stream direkt in jless pipen curl -s https://api.github.com/users/torvalds | jless # Mit allen auf oberster Ebene eingeklappten Knoten öffnen (nützlicher Startpunkt für große Dokumente) jless --mode line api-response.json # Bestimmtes Array-Element laden und isoliert anzeigen jq '.[0]' deployments.json | jless
Navigation und Suche in der Praxis
# Innerhalb von jless: # # j / ↓ nach unten # k / ↑ nach oben # l / → Knoten ausklappen (oder Enter) # h / ← Knoten einklappen # H aktuellen + alle Geschwister einklappen → Überblick auf hoher Ebene # L alles rekursiv ausklappen # # / Vorwärtssuche starten — Schlüsselnamen tippen und Enter drücken # n / N nächster / vorheriger Suchtreffer # # g / gg zum Anfang springen # G zum Ende springen # q beenden
jless Tastenkürzel-Referenz
Alle Kürzel sind unmittelbar nach dem Öffnen von jless verfügbar — keine Konfiguration erforderlich. Das Navigationsmodell ist absichtlich identisch mit vim, damit vorhandenes Muskelgedächtnis übertragbar ist.
jq -C | less -R — Farbiges Paging Ohne Zusatz-Tools
Wenn jless nicht installiert ist und du eine scrollbare, farbige Ansicht einer JSON-Antwort benötigst, ist jq -C . | less -R ein leistungsfähiger Fallback. Das Flag -C erzwingt ANSI-Farbcodes auch wenn stdout ein Pipe ist (normalerweise entfernt jq sie), und -R weist less an, diese Codes zu rendern statt sie als Klartext auszugeben. Das Ergebnis ist ein vollständig farbiges, scrollbares Dokument — ohne die interaktive Baumstruktur von jless. Die Navigation in less erfolgt über Pfeiltasten oder vim-Tasten j/k, und / löst die integrierte Textsuche von less aus.
# Einfacher farbiger Pager jq -C . response.json | less -R # Aus einer curl-Antwort — -s verhindert, dass der Fortschrittsbalken den JSON-Stream korrumpiert curl -s https://api.github.com/repos/jqlang/jq | jq -C . | less -R # Schlüssel für einfachere visuelle Überprüfung sortieren, dann pagen jq -CS . config.json | less -R # -C = Farbe erzwingen, -S = Schlüssel sortieren (beide Flags kombiniert) # Alias hinzufügen, damit das vollständige Pipe nie mehr getippt werden muss alias jqv='jq -C . | less -R' # Verwendung: cat response.json | jqv # o.: curl -s https://api.example.com/status | jqv
jq -C | less -R puffert die gesamte formatierte Ausgabe, bevor less sie anzeigen kann. Bei einer 200-MB-Datei bedeutet das mehrere Sekunden Wartezeit und erheblichen Speicherverbrauch — dieselbe Einschränkung wie bei einfachem jq .. Für große Dateien verwende stattdessen jless, das inkrementell streamt.JQ_COLORS — Benutzerdefinierte Farbthemen
JQ_COLORS ist eine Umgebungsvariable, die das Standard-ANSI-Farbschema von jq überschreibt. Sie nimmt eine durch Doppelpunkte getrennte Zeichenkette mit sieben ANSI-Attribut;Farb-Codes, einen pro JSON-Typ in dieser festen Reihenfolge: null : false : true : Zahlen : Strings : Arrays : Objekte. Jeder Code hat das Format Attribut;Farbe, wobei das Attribut 0 (normal), 1 (fett), 2 (gedimmt) oder 4 (unterstrichen) ist, und die Farbe eine Standard-ANSI-Farbnummer ist (30–37 = Standard, 90–97 = hell).
# ANSI-Farbreferenz für JQ_COLORS: # Attribute: 0=normal 1=fett 2=gedimmt 4=unterstrichen # Farben: 30=schwarz 31=rot 32=grün 33=gelb # 34=blau 35=magenta 36=cyan 37=weiß # Hell: 90=hellschwarz 91=hellrot 92=hellgrün 93=hellgelb # 94=hellblau 95=hellmagenta 96=hellcyan 97=hellweiß # # Reihenfolge: null : false : true : Zahlen : Strings : Arrays : Objekte # Hochkontrast-Theme für dunkle Terminals (empfohlen) export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96:1;96" # null=gedimmtes-grau, false=hellrot, true=hellgrün, # Zahlen=hellgelb, Strings=grün, Arrays=fettes-cyan, Objekte=fettes-cyan # Solarized-ähnliches Theme export JQ_COLORS="2;37:0;35:0;35:0;36:0;33:1;34:1;34" # null=gedimmtes-weiß, false=magenta, true=magenta, # Zahlen=cyan, Strings=gelb, Arrays=fettes-blau, Objekte=fettes-blau # Minimal (nur fette Schlüssel, alles andere schlicht) export JQ_COLORS="0;90:0;39:0;39:0;39:0;39:1;39:1;39"
# Gewähltes Theme zu ~/.bashrc oder ~/.zshrc hinzufügen, damit es bei jedem jq-Aufruf gilt
echo 'export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96:1;96"' >> ~/.bashrc
source ~/.bashrc
# Theme testen
echo '{"active":true,"errors":null,"count":42,"tags":["api","v2"],"meta":{"version":"1.0"}}' | jq .JQ_COLORS muss genau sieben durch Doppelpunkte getrennte Werte haben. Wenn die Zeichenkette weniger Segmente hat, fällt jq stillschweigend auf seine eingebauten Standardwerte zurück ohne jede Fehlermeldung — was eine Fehlkonfiguration schwer zu diagnostizieren macht. Teste immer eine neue Farbzeichenkette auf einem kurzen JSON-Payload, bevor du sie in dein Shell-Profil aufnimmst.Shell-Aliase für die Tägliche JSON-Anzeige
Die Befehle für die interaktive JSON-Anzeige sind standardmäßig ausführlich. Ein kleines Set von Aliasen in ~/.bashrc oder ~/.zshrc macht jless und farbiges Paging zu Ein-Wort-Befehlen, die sich natürlich in jeden Workflow integrieren. Die folgenden Aliase lassen sich kombinieren — jv und jvp akzeptieren beide gepipte Eingabe oder einen Dateinamen als erstes Argument.
# Zu ~/.bashrc oder ~/.zshrc hinzufügen
# jv — interaktiver Viewer (jless falls verfügbar, farbiger Pager als Fallback)
jv() {
if command -v jless &>/dev/null; then
jless "$@"
else
jq -C . "$@" | less -R
fi
}
# jvp — mit alphabetisch sortierten Schlüsseln anzeigen (nützlich zum Vergleichen von Antworten)
alias jvp='jq -CS . | less -R'
# jvc — aus der Zwischenablage anzeigen (macOS)
alias jvc='pbpaste | jless'
# jvf — anzeigen und filtern: jvf '.users[0]' response.json
jvf() {
local filter="$1"; shift
jq -C "$filter" "$@" | less -R
}
# Neu laden ohne Terminal neu zu starten
source ~/.bashrc# Verwendungsbeispiele nach dem Hinzufügen der obigen Aliase # Beliebige Datei oder gepipte Antwort anzeigen jv deployment-config.json curl -s https://api.github.com/users/torvalds | jv # Sortiert anzeigen (einfach alphabetisch zu durchsuchen) cat feature-flags.json | jvp # Interaktiv in ein Teildokument eintauchen jvf '.database' infra/app-config.json jvf '.users[] | select(.role == "admin")' users.json
bat — Syntaxhervorgehobene JSON-Dateiansicht
bat ist ein Ersatz für cat mit Syntaxhervorhebung, Zeilennummern und einem eingebauten Pager. Für JSON-Dateien auf der Festplatte bietet es eine saubere, editorähnliche Leseerfahrung ohne einen vollständigen Texteditor zu öffnen. Anders als jless rendert bat die Datei als statischen Text — kein Einklappen, keine Suche, keine Navigation außer Scrollen. Seine Stärke liegt in der visuellen Klarheit für mittelgroße statische Dateien (Configs, Fixtures, Test-Payloads), wo du Syntaxfarben und Zeilennummern möchtest, aber keine interaktive Baumnavigation benötigst.
# macOS brew install bat # Debian / Ubuntu (Binary könnte batcat heißen) apt-get install -y bat # alias bat=batcat # zu ~/.bashrc hinzufügen falls nötig unter Ubuntu # JSON-Datei mit Syntaxhervorhebung und Zeilennummern anzeigen bat config/feature-flags.json # Pager deaktivieren — direkt ins Terminal ausgeben (nützlich in Skripten) bat --paging=never api-response.json # Mit jq kombinieren: mit jq formatieren, mit bat anzeigen (bewahrt bats JSON-Hervorhebung) jq '.' response.json | bat --language=json --paging=never
bat zum Lesen statischer Konfigurationsdateien und Test-Fixtures, wo Zeilennummern wichtig sind (z.B. wenn ein Testfehler auf Zeile 47 einer Fixture-Datei verweist). Für API-Antworten und dynamisches JSON von curl ist jless schneller zu öffnen und praktischer zu navigieren. Wenn du im Browser anzeigen und mit einem Kollegen teilen musst, füge direkt in das JSON Pretty Print Tool ein — kein Terminal erforderlich.fx — Interaktiver JSON-Explorer in Node.js
fx ist ein interaktiver JSON Viewer auf Basis von Node.js. Seine Oberfläche ähnelt jless — einklappbarer Baum, Tastaturnavigation, Suche — bietet aber zwei Features, die jless fehlen: Mausunterstützung (Klicken zum Aus-/Einklappen von Knoten) und die Möglichkeit, einen JavaScript-Ausdruck in der unteren Leiste einzugeben, um das Dokument in Echtzeit zu filtern. Für Teams, die bereits Node.js nutzen, ist fx eine natürliche Wahl und benötigt kein separates Binary. Für reine Terminal-Umgebungen ohne Node ist jless die schlankere Wahl.
# Global via npm installieren npm install -g fx # Oder ohne Installation ausführen (npx cached das Paket) curl -s https://api.github.com/users/torvalds | npx fx # Grundlegende interaktive Verwendung fx api-response.json curl -s https://api.github.com/repos/jqlang/jq | fx # In fx: Pfeiltasten navigieren, Enter klappt aus/ein, / sucht # Untere Leiste akzeptiert JavaScript-Ausdrücke für Live-Filterung: # .name → nur das "name"-Feld anzeigen # .repos.slice(0,5) → erste 5 Repos
# fx funktioniert auch als nicht-interaktiver Formatter (wie jq . aber mit JS-Syntax)
# JavaScript-Ausdruck als Argument übergeben — kein interaktiver Modus
echo '{"users":[{"id":1,"name":"Lukas Bauer"},{"id":2,"name":"Sophie Müller"}]}' \
| fx '.users[0].name'
# Lukas Bauer
# Mit map für Array-Transformationen verketten
cat deployments.json | fx '.items.map(d => ({id: d.deploy_id, status: d.state}))'Häufige Fehler
Diese vier Fehler tauchen immer wieder auf, wenn Entwickler zum ersten Mal Terminal-JSON-Viewer verwenden — jeder hat eine klare Lösung, sobald man versteht, warum er auftritt.
Problem: jq . gibt die gesamte Ausgabe auf einmal auf stdout aus. Bei Antworten, die länger als die Terminalhöhe sind, ist alles oberhalb des letzten Bildschirms weg — du kannst nicht zum Anfang zurücknavigieren oder zu einem bestimmten Feld scrollen, ohne den Befehl mit einem Filter erneut auszuführen.
Lösung: Pipe an jless für interaktive Navigation oder verwende jq -C . | less -R als Fallback. Beide halten das vollständige Dokument unabhängig von seiner Größe zugänglich.
# 300-zeilige API-Antwort — die oberen 280 Zeilen scrollen sofort weg curl -s https://api.github.com/users/torvalds | jq . # Nur der untere Teil der Ausgabe ist sichtbar — kein Zurücknavigieren möglich
# Gesamtes Dokument bleibt in jless zugänglich — nichts geht verloren curl -s https://api.github.com/users/torvalds | jless # j/k zum Scrollen, h/l zum Ein-/Ausklappen, / zum Suchen
Problem: JQ_COLORS benötigt genau sieben durch Doppelpunkte getrennte Werte. Wenn die Zeichenkette sechs oder acht Werte hat, ignoriert jq die gesamte Variable stillschweigend und fällt auf seine kompilierten Standardwerte zurück — keine Warnung, kein Fehler, einfach die falschen Farben.
Lösung: Zähle die Doppelpunkte: eine gültige JQ_COLORS-Zeichenkette hat genau sechs Doppelpunkte und sieben Werte. Echo die Variable und pipe an tr zum Zählen.
# Nur 6 Werte — jq verwendet stillschweigend Standardwerte, keine Angabe warum
export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96"
echo '{"ok":true}' | jq . # Farben unverändert — kein Fehler angezeigt# Genau 7 Werte — 6 Doppelpunkte export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96:1;96" # Anzahl überprüfen vor dem Hinzufügen zum Shell-Profil echo "$JQ_COLORS" | tr -cd ':' | wc -c # muss 6 ausgeben
Problem: jless und fx rendern ihre interaktive Oberfläche ins Terminal (ein TTY), nicht auf stdout. Sie an grep, tee oder andere Befehle zu pipen erzeugt unlesbare ANSI-Escape-Codes oder leere Ausgabe — die interaktive Ausgabe des Viewers ist nicht dafür gedacht, von anderen Programmen konsumiert zu werden.
Lösung: Verwende jq mit einem expliziten Filter, um Daten programmatisch zu extrahieren. Verwende jless und fx nur als letzten Schritt in einer Pipeline, wenn ein Mensch die Ausgabe liest.
# jless-Ausgabe ist für menschliche Augen — Pipen erzeugt Müll jless response.json | grep "request_id" # Ausgabe: ANSI-Escape-Codes und Cursor-Sequenzen, kein sauberer Text
# jq für programmatische Extraktion verwenden — sauber und komponierbar jq -r '.request_id' response.json | grep "req_" # jless nur als Terminal-Endpunkt verwenden — nichts danach jless response.json
Problem: -C erzwingt ANSI-Farbcodes im Ausgabestream. Wenn dieser Stream direkt in einem Terminal ausgegeben wird, das nicht im Raw-Modus ist — oder an ein Tool gepipet wird, das ANSI nicht interpretiert — erscheinen die Escape-Sequenzen als Literalzeichen wie ^[[1;34m, die die Ausgabe verunreinigen.
Lösung: Kombiniere jq -C immer mit less -R. Das Flag -R versetzt less in den Raw-Input-Modus und weist es an, ANSI-Sequenzen als Farben zu rendern statt sie als Text auszugeben.
# -C ohne -R: Escape-Sequenzen werden als Rohtext ausgegeben jq -C . response.json | less # Ausgabe: ^[[1;34m"status"^[[0m: ^[[0;32m"ok"^[[0m ...
# -C mit -R: ANSI-Codes werden als echte Farben gerendert jq -C . response.json | less -R # Ausgabe: farbiges JSON, sauber und lesbar
jless vs jq vs bat vs fx — Vergleich Interaktiver Viewer
Alle vier Tools rendern farbiges JSON, aber ihre interaktiven Fähigkeiten unterscheiden sich erheblich. Wähle basierend darauf, ob du einklappbare Navigation, Suche oder Mausunterstützung benötigst — und ob Node.js bereits in deiner Umgebung vorhanden ist.
In den meisten Fällen: Installiere jless einmal und nutze es als Standard-Interaktiv-Viewer. Behalte jq -C . | less -R als Fallback für Umgebungen, in denen du keine zusätzlichen Binaries installieren kannst. Füge fx hinzu, wenn dein Team primär Node.js-basiert ist und Mausnavigation oder Live-JavaScript-Filterung schätzt.
Häufig Gestellte Fragen
Wie suche ich in einer JSON-Datei im Terminal nach einem bestimmten Schlüssel?
In jless drücke / um den inkrementellen Suchprompt zu öffnen, tippe den Schlüsselnamen und drücke Enter. Verwende n, um vorwärts durch Treffer zu springen, und N, um rückwärts zu gehen. Die Suche unterscheidet standardmäßig Groß- und Kleinschreibung. Bei jq -C | less -R löst / die integrierte Suche von less aus, die rohen Text inklusive ANSI-Farbcodes abgleicht — die jless-Suche ist für strukturiertes JSON zuverlässiger.
# Datei in jless öffnen, dann / zum Suchen drücken jless api-response.json # In jless: tippe / → "request_id" → Enter → n für nächsten Treffer # jq-Alternative: alle passenden Schlüssel auf stdout extrahieren und ausgeben jq '.. | objects | with_entries(select(.key == "request_id"))' api-response.json
Wie navigiere ich mit Tastaturkürzeln durch eine tief verschachtelte JSON-Struktur?
jless spiegelt die vim-Navigation: j/k für hoch/runter, h zum Einklappen eines Knotens, l zum Ausklappen. Drücke H, um den aktuellen Knoten und alle Geschwister auf einmal einzuklappen — nützlich für einen Überblick auf hoher Ebene, bevor man in einen bestimmten Zweig eintaucht. L klappt alles rekursiv aus. Wenn alles auf die oberste Ebene eingeklappt ist, klappe mit l nur den gewünschten Pfad aus.
# Antwort in jless öffnen curl -s https://api.github.com/repos/jqlang/jq | jless # In jless: # H → alle Schlüssel der obersten Ebene einklappen # j/k → zum gewünschten Schlüssel navigieren # l → nur diesen Zweig ausklappen # gg → zur Wurzel zurückkehren # G → zum letzten Element springen
Wie mache ich die farbige Ausgabe von jq auf einem dunklen Terminal besser lesbar?
Setze die Umgebungsvariable JQ_COLORS mit ANSI-Attribut;Farb-Codes für jeden JSON-Typ. Die sieben Positionen sind in dieser Reihenfolge: null, false, true, Zahlen, Strings, Arrays, Objekte. Füge den Export in ~/.bashrc oder ~/.zshrc ein, damit er bei jedem jq-Aufruf gilt. Helle, fette Farben funktionieren am besten auf dunklem Hintergrund.
# Hochkontrast-Theme für dunkle Terminals — in ~/.bashrc oder ~/.zshrc einfügen
export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96:1;96"
# null=grau, false=hellrot, true=hellgrün,
# Zahlen=hellgelb, Strings=grün, Arrays/Objekte=hellcyan
# Sofort testen ohne Shell neu zu laden
echo '{"active":true,"errors":0,"tags":["api","v2"]}' | jq .Was ist der Unterschied zwischen jless und jq . zum Anzeigen von JSON?
jq . scrollt die Ausgabe über den Terminalanfang hinaus und bietet keine Möglichkeit, zurückzunavigieren — nützlich für kleine Antworten, aber unpraktisch für alles über 50 Zeilen. jless rendert das gesamte Dokument in einem interaktiven Pager, wo man scrollen, suchen, Knoten einklappen und mit Tastaturkürzeln navigieren kann, ohne den Kontext zu verlieren. Verwende jq . für einen schnellen Blick auf einen kleinen Payload; verwende jless, wenn du erkunden musst.
# Kleiner Payload — jq . ist in Ordnung
echo '{"status":"ok","version":"2.4.1"}' | jq .
# Große oder verschachtelte Antwort — jless ist besser
curl -s https://api.github.com/repos/jqlang/jq | jless
# → interaktiver Baum, keine Ausgabe scrollt vom BildschirmWie zeige ich JSON aus einer curl-Antwort interaktiv im Terminal an?
Leite curl direkt in jless. Füge immer -s (silent) hinzu, damit der Fortschrittsbalken von curl nicht in der Ausgabe erscheint. jless öffnet den interaktiven Viewer mit der vollständigen Antwort als einklappbaren Baum. Falls jless nicht installiert ist, bietet jq -C . | less -R einen farbigen Pager als Fallback.
# Interaktive Erkundung mit jless curl -s https://api.github.com/users/torvalds | jless # Farbiger Pager als Fallback (kein Einklappen, aber scrollbar mit Farbe) curl -s https://api.github.com/users/torvalds | jq -C . | less -R
Kann ich mehrere JSON-Dateien nebeneinander im Terminal anzeigen?
jless öffnet jeweils eine Datei. Für den Seitenvergleich verwende einen Terminal-Multiplexer: tmux split-window -h öffnet einen vertikalen Split, dann starte jless in jedem Pane mit einer anderen Datei. Alternativ kannst du das browserbasierte JSON Diff Tool nutzen, wenn du zwei Dokumente strukturell vergleichen möchtest.
# tmux nebeneinander: horizontal teilen, dann jless in jedem Pane starten tmux split-window -h # Linkes Pane: jless response-v1.json # Rechtes Pane: jless response-v2.json # Oder diff auf jq-normalisierter Ausgabe für einen Text-Diff verwenden diff <(jq -S . response-v1.json) <(jq -S . response-v2.json)
Verwandte Tools
Das JSON Pretty Print Tool bietet dir dieselbe einklappbare, farbige Ansicht wie jless — direkt im Browser, ohne Installation und ohne Terminal.
Cora is a platform engineer who builds developer tooling and internal platforms, using Bash as the glue that connects components written in different languages and runtimes. She writes about cross-platform shell scripting, Bash utility functions, environment management, configuration templating, and the practical shell techniques that platform engineers use to build self-service tooling for development teams.
Nadia is a site reliability engineer who lives in the terminal. She writes Bash scripts that process logs, transform data, and orchestrate infrastructure across fleets of servers. She is a heavy user of jq, awk, and sed and writes about shell one-liners, text processing pipelines, data serialisation from the command line, and the practical Bash patterns that SREs reach for when speed matters more than elegance.