Bash JSON Viewer — jless & JQ_COLORS Guide

·Platform Engineer·Granskad avNadia Okonkwo·Publicerad

Använd det kostnadsfria JSON Pretty Print direkt i webbläsaren — ingen installation krävs.

Prova JSON Pretty Print online →

När du behöver ett bash JSON-visare för interaktiv utforskning snarare än skriptning, räcker det inte med standardröret jq . — utdata rullar förbi toppen av terminalen och du har inget sätt att navigera tillbaka genom ett 300-raders API-svar. Den här guiden täcker verktyg byggda specifikt för interaktiv JSON-visning i terminalen: jless (hopfällbart träd med vim-tangentnavigering), JQ_COLORS för anpassade färgteman, jq -C | less -R för färgad paginering, shell-alias för daglig användning och fx som Node.js-alternativ. För skriptning, CI/CD och valideringsarbetsflöden, se den tillhörande guiden för JSON-formatering i Bash. För en webbläsarbaserad visare utan installation fungerar JSON Pretty Print direkt. Exemplen är testade på Bash 5.x (macOS via Homebrew, Ubuntu 22.04+) och är kompatibla med Bash 3.2+ (macOS systemshell).

VIKTIGA PUNKTER
  • jless — den bästa interaktiva JSON-visaren för terminalen: hopfällbart träd, vim-tangenter, inkrementell sökning
  • jq -C . | less -R — färgad rullningsbar pager utan extra installation utöver jq
  • JQ_COLORS — miljövariabel som anpassar jq:s ANSI-färgschema för varje JSON-typ
  • fx — interaktiv Node.js JSON-visare med musstöd och JavaScript-filteruttryck
  • alias jv='jless' — ett ettordskommando gör interaktiv visning till en muskelminnesrutin

Interaktiv vs. Skriptad JSON-visning

Att pipa JSON till jq . är rätt val när du vill ha formaterad utdata för en liten payload, eller när resultatet matas till ett annat kommando. Det är fel val när du behöver utforska ett API-svar med 200 fält — utdata flyger förbi terminalfönstret och lämnar dig utan möjlighet att navigera, fälla ihop sektioner eller söka efter ett specifikt fält utan att köra om kommandot med ett filter. Interaktiva JSON-visare renderar samma formaterade, färgade utdata inuti en beständig pager där du styr navigeringen. Datan är identisk; skillnaden är gränssnittet.

Before · Bash
After · Bash
# jq . — utdata rullar bort för stora svar
curl -s https://api.github.com/users/torvalds | jq .
# 300+ rader rullar förbi — du tappar kontexten omedelbart
# jless — öppnar en interaktiv pager, inget rullar bort
curl -s https://api.github.com/users/torvalds | jless
# Fullt dokument synligt, hopfällbart, sökbart med j/k/h/l
Obs:Interaktiva visare är enbart för mänsklig inspektion — de ska aldrig förekomma i skript, CI-pipelines eller automatisering. För programmatisk JSON-bearbetning, använd jq med explicita filter och hantering av exitkoder. Den Bash JSON-formateringsguiden täcker de skriptmönstren.

jless — Interaktiv JSON-visare

jless är en ändamålsbyggd terminal-JSON-visare. Till skillnad från ett vanligt jq-rör renderar den dokumentet som ett beständigt hopfällbart träd: varje objekt och array kan expanderas eller fällas ihop oberoende med l och h, navigeringen använder vim-stiltangenter och inkrementell sökning hittar vilken nyckel eller vilket värde som helst omedelbart. Den strömmar indata inkrementellt, så den öppnar stora filer och API-svar på under en sekund oavsett storlek — där jq buffrar hela dokumentet innan det visas. Jag når efter jless som det första verktyget när ett API-svar är för stort för att skanna med en blick.

Installation

Bash
# macOS
brew install jless

# Linux — förbyggd binär från 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/

# Verifiera
jless --version

Grundläggande användning

Bash
# Öppna en lokal fil — interaktiv trädvisare startar omedelbart
jless api-response.json

# Pipa valfri JSON-ström direkt till jless
curl -s https://api.github.com/users/torvalds | jless

# Öppna med alla noder ihopfällda till toppnivå (användbar startpunkt för stora dokument)
jless --mode line api-response.json

# Ladda ett specifikt array-element och visa det i isolation
jq '.[0]' deployments.json | jless

Navigering och sökning i praktiken

Bash
# Inuti jless:
#
#   j / ↓        nedåt
#   k / ↑        uppåt
#   l / →        expandera nod (eller Enter)
#   h / ←        fäll ihop nod
#   H            fäll ihop aktuell + alla syskon → översikt på hög nivå
#   L            expandera allt rekursivt
#
#   /            starta sökning framåt — skriv ett nyckelnamn och tryck Enter
#   n / N        nästa / föregående söktreffer
#
#   g / gg       hoppa till början
#   G            hoppa till slutet
#   q            avsluta

Snabbreferens för jless-tangenter

Alla genvägar är tillgängliga direkt efter att du öppnat jless — ingen konfiguration krävs. Navigeringsmodellen är avsiktligt identisk med vim så att befintligt muskelminne överförs.

Tangent
Åtgärd
När du ska använda
j / ↓
Flytta markören en rad nedåt
Bläddra genom objektnycklar eller array-element
k / ↑
Flytta markören en rad uppåt
Gå tillbaka till ett tidigare fält
J
Flytta 5 rader nedåt
Snabbare rullning genom långa arrayer
K
Flytta 5 rader uppåt
Snabbare navigering uppåt
h / ← / -
Fäll ihop aktuell nod
Dölj ett stort kapslat objekt för att minska brus
l / → / +
Expandera aktuell nod
Öppna ett ihopfällt objekt eller array
H
Fäll ihop aktuell nod och alla syskon
Få en översikt av strukturen på toppnivå
L
Expandera alla noder rekursivt
Avslöja full djup av kapslad struktur
g
Hoppa till dokumentets början
Snabbt återgå till roten
G
Hoppa till dokumentets slut
Hoppa till sista elementet i en stor array
/
Starta sökning framåt
Hitta en specifik nyckel eller värde i dokumentet
?
Starta sökning bakåt
Söka uppåt från aktuell position
n
Hoppa till nästa söktreffer
Bläddra genom alla förekomster av en sökterm
N
Hoppa till föregående söktreffer
Stega bakåt genom sökresultat
q
Avsluta jless
Stänga efter avslutad inspektion

jq -C | less -R — Färgad paginering utan extra verktyg

Om jless inte är installerat och du behöver en rullningsbar, färgad vy av ett JSON-svar, jq -C . | less -R är ett kapabelt reservalternativ. Flaggan -C tvingar ANSI-färgkoder även när stdout är ett rör (normalt tar jq bort dem), och -R säger till less att rendera dessa koder istället för att skriva ut dem som bokstavlig text. Resultatet är ett fullt färgat, rullningsbart dokument — utan jless interaktiva trädstruktur. Navigeringen inuti less använder piltangenter eller vim-stil j/k, och / utlöser less inbyggda textsökning.

Bash
# Grundläggande färgad pager
jq -C . response.json | less -R

# Från ett curl-svar — -s förhindrar att förloppsfältet skadar JSON-strömmen
curl -s https://api.github.com/repos/jqlang/jq | jq -C . | less -R

# Sortera nycklar för enklare visuell skanning, sedan paginera
jq -CS . config.json | less -R
# -C = tvinga färg, -S = sortera nycklar (båda flaggorna kombinerade)

# Lägg till ett alias så att du slipper skriva hela röret varje gång
alias jqv='jq -C . | less -R'
# Användning: cat response.json | jqv
#    eller: curl -s https://api.example.com/status | jqv
Obs:jq -C | less -R buffrar hela den formaterade utdatan innan less kan visa den. På en 200 MB-fil innebär detta att vänta flera sekunder och förbruka avsevärt minne — samma begränsning som vanlig jq .. För stora filer, använd jless istället, som strömmar inkrementellt.

JQ_COLORS — Anpassade färgteman

JQ_COLORS är en miljövariabel som åsidosätter jq:s standardmässiga ANSI-färgschema. Den tar en kolonseparerad sträng med sju ANSI attribute;color-koder, en per JSON-typ i den här fasta ordningen: null : false : true : tal : strängar : arrayer : objekt. Varje kod har formatet attribut;färgdär attribut är 0 (normalt), 1 (fet), 2 (dämpad) eller 4 (understruken) och färg är ett standard-ANSI-färgnummer (30–37 = standard, 90–97 = ljust).

Bash
# ANSI-färgreferens för att bygga JQ_COLORS:
#   Attribut:  0=normalt  1=fet  2=dämpad  4=understruken
#   Färger:    30=svart  31=röd  32=grön  33=gul
#              34=blå  35=magenta  36=cyan  37=vit
#   Ljusa:     90=ljust-svart  91=ljust-röd  92=ljust-grön  93=ljust-gul
#              94=ljust-blå  95=ljus-magenta  96=ljust-cyan  97=ljust-vit
#
# Ordning: null : false : true : tal : strängar : arrayer : objekt

# Hög-kontrast tema för mörka terminaler (rekommenderas)
export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96:1;96"
# null=dämpad-grå, false=ljust-röd, true=ljust-grön,
# numbers=ljust-gul, strings=grön, arrays=fet-cyan, objects=fet-cyan

# Solarized-stils tema
export JQ_COLORS="2;37:0;35:0;35:0;36:0;33:1;34:1;34"
# null=dämpad-vit, false=magenta, true=magenta,
# numbers=cyan, strings=gul, arrays=fet-blå, objects=fet-blå

# Minimalt (bara feta nycklar, allt annat normalt)
export JQ_COLORS="0;90:0;39:0;39:0;39:0;39:1;39:1;39"
Bash
# Lägg till ditt valda tema i ~/.bashrc eller ~/.zshrc så att det gäller för varje jq-anrop
echo 'export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96:1;96"' >> ~/.bashrc
source ~/.bashrc

# Testa temat
echo '{"active":true,"errors":null,"count":42,"tags":["api","v2"],"meta":{"version":"1.0"}}' | jq .
Varning:JQ_COLORS måste ha exakt sju kolonseparerade värden. Om strängen har färre segment faller jq tyst tillbaka på sina inbyggda standardvärden utan något felmeddelande — vilket gör felkonfigurering svårt att diagnostisera. Testa alltid en ny färgsträng på en kort JSON-payload innan du lägger till den i din shell-profil.

Shell-alias för daglig JSON-visning

Kommandona för interaktiv JSON-visning är mångsidigt i sin grundform. En liten uppsättning alias i ~/.bashrc eller ~/.zshrc gör jless och färgad paginering till ettordskommandon som naturligt integreras i vilket arbetsflöde som helst. Aliaserna nedan komponerar — jv och jvp accepterar båda pipade indata eller ett filnamn som första argument.

Bash
# Lägg till i ~/.bashrc eller ~/.zshrc

# jv — interaktiv visare (jless om tillgängligt, färgad pager som reserv)
jv() {
  if command -v jless &>/dev/null; then
    jless "$@"
  else
    jq -C . "$@" | less -R
  fi
}

# jvp — visa med nycklar sorterade alfabetiskt (användbart för att jämföra svar)
alias jvp='jq -CS . | less -R'

# jvc — visa från urklipp (macOS)
alias jvc='pbpaste | jless'

# jvf — visa och filtrera: jvf '.users[0]' response.json
jvf() {
  local filter="$1"; shift
  jq -C "$filter" "$@" | less -R
}

# Ladda om utan att starta om terminal
source ~/.bashrc
Bash
# Användningsexempel efter att ha lagt till alias ovan

# Visa valfri fil eller pipat svar
jv deployment-config.json
curl -s https://api.github.com/users/torvalds | jv

# Visa sorterat (lätt att skanna alfabetiskt)
cat feature-flags.json | jvp

# Borra interaktivt in i ett subdokument
jvf '.database' infra/app-config.json
jvf '.users[] | select(.role == "admin")' users.json

bat — Syntaxmarkerad JSON-filvisning

bat är en ersättning för cat med syntaxmarkering, radnummer och en inbyggd pager. För JSON-filer på disk ger det en ren, redaktörsliknande läsupplevelse utan att öppna en fullständig textredigerare. Till skillnad från jless renderar bat filen som statisk text — ingen ihopfällning, ingen sökning, ingen navigering utöver rullning. Dess styrka är visuell klarhet för mellanstora statiska filer (configs, fixtures, testpayloads) där du vill ha syntaxfärg och radnummer men inte behöver interaktiv trädnavigering.

Bash
# macOS
brew install bat

# Debian / Ubuntu (binären kan heta batcat)
apt-get install -y bat
# alias bat=batcat   # lägg till i ~/.bashrc vid behov på Ubuntu

# Visa en JSON-fil med syntaxmarkering och radnummer
bat config/feature-flags.json

# Inaktivera pager — skriv direkt till terminal (användbart i skript)
bat --paging=never api-response.json

# Kombinera med jq: formatera med jq, visa med bat (behåller JSON-markering)
jq '.' response.json | bat --language=json --paging=never
Obs:Använd bat för att läsa statiska konfigurationsfiler och testfixtures där radnummer spelar roll (t.ex. när ett testfel refererar till rad 47 i en fixture-fil). För API-svar och dynamisk JSON från curl är jless snabbare att öppna och mer praktisk att navigera. Om du behöver visa i webbläsaren och dela med en kollega, klistra in direkt i JSON Pretty Print verktyget — ingen terminal behövs.

fx — Interaktiv Node.js JSON-utforskare

fx är en interaktiv JSON-visare byggd på Node.js. Dess gränssnitt liknar jless — hopfällbart träd, tangentbordsnavigering, sökning — men lägger till två funktioner som jless saknar: musstöd (klicka för att expandera/fälla ihop noder) och möjligheten att skriva ett JavaScript-uttryck i nedre raden för att filtrera dokumentet i realtid. För team som redan kör Node.js passar fx naturligt och kräver ingen separat binär. För rena terminalmiljöer utan Node är jless det smidigare valet.

Bash
# Installera globalt via npm
npm install -g fx

# Eller kör utan att installera (npx cachar paketet)
curl -s https://api.github.com/users/torvalds | npx fx

# Grundläggande interaktiv användning
fx api-response.json
curl -s https://api.github.com/repos/jqlang/jq | fx

# I fx: piltangenter navigerar, Enter expanderar/fäller ihop, / söker
# Nedre raden accepterar JavaScript-uttryck för live-filtrering:
#   .name           → visa bara "name"-fältet
#   .repos.slice(0,5) → första 5 repon
Bash
# fx fungerar även som icke-interaktiv formatter (som jq . men med JS-syntax)
# Skicka ett JavaScript-uttryck som argument — ingen interaktiv läge
echo '{"users":[{"id":1,"name":"Sarah Chen"},{"id":2,"name":"Marcus Osei"}]}' \
  | fx '.users[0].name'
# Sarah Chen

# Kedja med map för array-transformationer
cat deployments.json | fx '.items.map(d => ({id: d.deploy_id, status: d.state}))'

Vanliga misstag

Dessa fyra misstag dyker upp upprepade gånger när utvecklare börjar använda terminal-JSON-visare — vart och ett har en tydlig lösning när du förstår varför det händer.

Använda jq . för att visa stora svar (utdata rullar bort från skärmen)

Problem: jq . dumpar all utdata till stdout på en gång. För svar längre än terminalens höjd försvinner allt ovanför det sista skärmfyllda — du kan inte rulla tillbaka till början eller navigera till ett specifikt fält.

Lösning: Pipa till jless för interaktiv navigering, eller använd jq -C . | less -R som reserv. Båda håller hela dokumentet tillgängligt oavsett storlek.

Before · Bash
After · Bash
# 300-raders API-svar — de första 280 raderna rullar omedelbart bort
curl -s https://api.github.com/users/torvalds | jq .
# Bara botten av utdatan är synlig — kan inte navigera tillbaka
# Fullt dokument tillgängligt i jless — ingenting förloras
curl -s https://api.github.com/users/torvalds | jless
# j/k för att rulla, h/l för att fälla ihop/expandera, / för att söka
Ange JQ_COLORS med fel antal segment

Problem: JQ_COLORS kräver exakt sju kolonseparerade värden. Om strängen har sex eller åtta värden ignorerar jq tyst hela variabeln och faller tillbaka på sina inbyggda standardvärden — ingen varning, inget fel, bara fel färger.

Lösning: Räkna kolonerna: en giltig JQ_COLORS-sträng har exakt sex kolon och sju värden. Echo variabeln och pipa till tr för att räkna.

Before · Bash
After · Bash
# Bara 6 värden — jq använder tyst standardvärden, ingen indikation på varför
export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96"
echo '{"ok":true}' | jq .  # färger oförändrade — inget fel visas
# Exakt 7 värden — 6 kolon
export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96:1;96"

# Verifiera antalet innan du lägger till i shell-profilen
echo "$JQ_COLORS" | tr -cd ':' | wc -c   # måste ge 6
Pipa jless- eller fx-utdata till ett annat kommando

Problem: jless och fx renderar sitt interaktiva gränssnitt till terminalen (en TTY), inte till stdout. Att pipa dem till grep, tee eller något annat kommando producerar förvanskat ANSI escape-koder eller tom utdata — vistarens interaktiva utdata är inte designad för att konsumeras av andra program.

Lösning: Använd jq med ett explicit filter för programmatisk dataextraktion. Använd jless och fx bara som det sista steget i en pipeline när en människa läser utdatan.

Before · Bash
After · Bash
# jless-utdata är för mänskliga ögon — piping producerar skräp
jless response.json | grep "request_id"
# Utdata: ANSI escape-koder och markörekvenser, inte ren text
# Använd jq för programmatisk extraktion — rent, komponer­bart
jq -r '.request_id' response.json | grep "req_"

# Använd jless bara som terminalslutpunkt — inget efter det
jless response.json
Använda jq -C utan less -R (färgkoder skrivs ut som bokstavlig text)

Problem: -C tvingar ANSI-färgkoder in i utdataströmmen. När den strömmen skrivs direkt till en terminal som inte är i raw-läge — eller pipas till ett verktyg som inte tolkar ANSI — visas escape-sekvenserna som bokstavliga tecken som ^[[1;34m som smutsar ner utdatan.

Lösning: Para alltid jq -C med less -R. Flaggan -R sätter less i raw-input-läge, vilket säger åt den att rendera ANSI-sekvenser som färger istället för att skriva ut dem som text.

Before · Bash
After · Bash
# -C utan -R: escape-sekvenser skrivs ut som råtext
jq -C . response.json | less
# Utdata: ^[[1;34m"status"^[[0m: ^[[0;32m"ok"^[[0m ...
# -C med -R: ANSI-koder renderas som riktiga färger
jq -C . response.json | less -R
# Utdata: färgad JSON, ren och läsbar

jless vs jq vs bat vs fx — Jämförelse av interaktiva visare

Alla fyra verktyg renderar färgad JSON, men deras interaktiva förmågor skiljer sig avsevärt. Välj baserat på om du behöver hopfällbar navigering, sökning eller musstöd — och om Node.js redan finns i din miljö.

Verktyg
Interaktiv navigering
Sökning
Hopfällbart
Färg
Stora filer
Installation
jless
✅ vim-tangenter
✅ (/, n, N)
✅ (h/l tangenter)
✅ (inbyggt)
✅ (strömning)
brew / binary
jq -C | less -R
⚠️ (bara less)
✅ (/ i less)
✅ (ANSI)
⚠️ (buffrar allt)
endast jq
fx
✅ piltangenter
✅ (/)
⚠️ (JS-laddning)
npm install -g fx
bat
⚠️ (bara pager)
❌ (i bat)
✅ (tema)
⚠️ (läser allt)
brew / apt
jq . (plain)
❌ (rullar förbi)
✅ (bara tty)
brew / apt

För de flesta situationer: installera jless en gång och använd det som standardinteraktiv visare. Behåll jq -C . | less -R som reserv för miljöer där du inte kan installera extra binärer. Lägg till fx om ditt team primärt använder Node.js och värdesätter musnavigering eller live-JavaScript-filtrering.

Vanliga frågor

Hur söker jag efter en specifik nyckel i en JSON-fil i terminalen?

I jless, tryck / för att öppna en inkrementell sökprompt, skriv nyckelnamnet och tryck Enter. Använd n för att hoppa till nästa träff och N för föregående. Sökning är skiftlägeskänslig som standard. I jq -C | less -R utlöser / less inbyggda sökning, som matchar råtext inklusive ANSI-färgkoder — jless-sökning är mer pålitlig för strukturerad JSON.

Bash
# Öppna filen i jless, tryck sedan / för att söka
jless api-response.json
# I jless: skriv /  →  "request_id"  →  Enter  →  n för nästa träff

# jq-alternativ: extrahera och skriv ut alla matchande nycklar till stdout
jq '.. | objects | with_entries(select(.key == "request_id"))' api-response.json

Hur navigerar jag en djupt kapslad JSON-struktur med tangentbordsgenvägar?

jless speglar vim-navigering: j/k för upp/ned, h för att fälla ihop en nod, l för att expandera. Tryck H för att fälla ihop aktuell nod och alla dess syskon på en gång — användbart för att få en översikt på hög nivå innan du borrar in i en specifik gren. L expanderar allt rekursivt. När du väl har fällt ihop allt till toppnivå, expandera bara den sökväg du bryr dig om med l.

Bash
# Öppna svaret i jless
curl -s https://api.github.com/repos/jqlang/jq | jless
# I jless:
#   H            → fäll ihop alla nycklar på toppnivå
#   j/k          → navigera till önskad nyckel
#   l            → expandera bara den grenen
#   gg           → återgå till root
#   G            → hoppa till sista elementet

Hur gör jag jq:s färgade utdata lättare att läsa på en mörk terminal?

Ange miljövariabeln JQ_COLORS med ANSI attribute;color-koder för varje JSON-typ. De sju positionerna är i ordning: null, false, true, tal, strängar, arrayer, objekt. Lägg till exporten i ~/.bashrc eller ~/.zshrc för att tillämpa den på varje jq-anrop. Fetstil med ljusa färger fungerar bäst på mörka bakgrunder.

Bash
# Hög-kontrast tema för mörka terminaler — lägg till i ~/.bashrc eller ~/.zshrc
export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96:1;96"
# null=grå, false=ljust-röd, true=ljust-grön,
# numbers=ljust-gul, strings=grön, arrays/objects=ljust-cyan

# Testa direkt utan att ladda om shell
echo '{"active":true,"errors":0,"tags":["api","v2"]}' | jq .

Vad är skillnaden mellan jless och jq . för att visa JSON?

jq . rullar utdata förbi toppen av terminalen och ger dig inget sätt att navigera tillbaka — användbart för små svar, men opraktiskt för allt över 50 rader. jless renderar hela dokumentet i en interaktiv pager där du kan rulla, söka, fälla ihop noder och navigera med tangentbordsgenvägar utan att tappa kontext. Använd jq . när du vill kasta ett snabbt öga på en liten payload; använd jless när du behöver utforska.

Bash
# Liten payload — jq . är bra
echo '{"status":"ok","version":"2.4.1"}' | jq .

# Stort eller kapslat svar — jless är bättre
curl -s https://api.github.com/repos/jqlang/jq | jless
# → interaktivt träd, inget rullar bort från skärmen

Hur ser jag JSON från ett curl-svar interaktivt i terminalen?

Pipa curl direkt till jless. Inkludera alltid -s (silent) för att förhindra att curl:s förloppsfält visas i utdata. jless öppnar den interaktiva visaren med hela svaret renderat som ett hopfällbart träd. Om jless inte är installerat ger jq -C . | less -R en färgad pager som reserv.

Bash
# Interaktiv utforskning med jless
curl -s https://api.github.com/users/torvalds | jless

# Färgad pager som reserv (ingen hopfällning, men fortfarande rullningsbar med färg)
curl -s https://api.github.com/users/torvalds | jq -C . | less -R

Kan jag visa flera JSON-filer sida vid sida i terminalen?

jless öppnar en fil åt gången. För sida-vid-sida-jämförelse använder du en terminalmultiplexer: tmux split-window -h öppnar en vertikal delning, kör sedan jless i varje ruta med en annan fil. Alternativt, använd det webbläsarbaserade JSON Diff-verktyget om du behöver jämföra två dokument strukturellt.

Bash
# tmux sida vid sida: dela horisontellt, kör sedan jless i varje ruta
tmux split-window -h
# Vänster ruta:  jless response-v1.json
# Höger ruta: jless response-v2.json

# Eller använd diff på jq-normaliserade utdata för en textdiff
diff <(jq -S . response-v1.json) <(jq -S . response-v2.json)

Relaterade verktyg

Verktyget JSON Pretty Print ger dig samma hopfällbara, färgade vy som jless — direkt i webbläsaren, utan installation och utan terminal.

CM
Cora MatsumotoPlatform Engineer

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.

NO
Nadia OkonkwoTeknisk granskare

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.