jless - Cheatsheet Command-Line JSON Viewer
jless è un viewer veloce e read-only per dati JSON (e YAML) nel terminale. Invece di piping l”output grezzo attraverso less o jq e scrollare attraverso muri di parentesi, ottieni un albero collassabile con syntax highlighting che puoi navigare con key stile Vim, piega le strutture profondamente annidate e ricerca. È costruito appositamente per esplorare risposte API, file di config e grandi documenti JSON velocemente.
Installazione
| Piattaforma | Comando |
|---|
| Cargo (tutte le piattaforme) | cargo install jless |
| macOS (Homebrew) | brew install jless |
| Arch Linux | sudo pacman -S jless |
| Nix | nix-env -iA nixpkgs.jless |
| Binary | scarica dalla pagina GitHub Releases |
| Verifica | jless --version |
Apertura Dati
| Comando | Descrizione |
|---|
jless data.json | Apri un file JSON |
| `cat data.json | jless` |
| `curl -s URL | jless` |
jless --yaml config.yaml | Apri un file YAML |
jless --mode line data.json | Inizia in line mode (visualizzazione simil-raw) |
jless --help | Elenco completo delle opzioni |
Movimento
| Key | Azione |
|---|
j / k | Giù / su |
h / l | Collassa / espandi (o sposta a parent/child) |
g / G | Vai all”inizio / fine |
Ctrl+f / Ctrl+b | Pagina giù / su |
Ctrl+d / Ctrl+u | Mezza pagina giù / su |
J / K | Sposta al prossimo/precedente sibling |
Enter | Attiva/disattiva espandi/collassa sul nodo corrente |
Piegamento & Viste
| Key | Azione |
|---|
Space | Collassa / espandi il nodo corrente |
c | Collassa tutti i sibling |
e | Espandi ricorsivamente tutti i figli |
E | Espandi tutto |
C | Deep-collapse |
Tab (modalità) | Attiva/disattiva tra modalità dati e line mode |
% | Salta alla parentesi corrispondente |
Ricerca
| Key | Azione |
|---|
/pattern | Ricerca in avanti |
?pattern | Ricerca indietro |
n / N | Prossimo / match precedente |
* | Ricerca la chiave corrente |
| La ricerca è regex | I pattern supportano espressioni regolari |
Lavoro con Percorsi & Valori
| Key | Azione |
|---|
y poi y | Yank (copia) il valore sotto il cursore |
y poi p | Yank il percorso al nodo corrente (es. .users[0].name) |
y poi v | Yank il valore |
y poi k | Yank la chiave corrente |
. | Mostra il percorso completo del nodo corrente |
Il yanking del percorso è particolarmente utile: naviga a un campo visivamente, poi incolla il suo percorso stile jq in uno script.
Flussi di Lavoro Comuni
# Esplora una grande risposta API senza annegare nelle parentesi
curl -s https://api.example.com/data | jless
# Ispeziona una config e copia il percorso esatto a una impostazione
jless config.json # naviga, poi yy/yp per afferrare valore o percorso
# Scorri YAML nello stesso modo di JSON
jless --yaml docker-compose.yaml
# Abbina a jq: filtra prima, poi esplora il risultato interattivamente
jq '.items' big.json | jless
| Aspetto | jless | jq | fx |
|---|
| Modalità | Viewer interattivo | Query/trasforma | Interattivo + JS |
| Editing/trasforma | No (read-only) | Sì | Sì |
| Piegamento UI albero | Sì | No | Sì |
| Path yank | Sì | N/A | Sì |
| Migliore per | Esplora/ispeziona | Scripting trasforma | Esplora + trasforma |
jless è read-only per design — per filtrare e trasformare, pipe attraverso jq prima, poi esplora il risultato in jless.
Risorse