jless - Visualizador JSON na Linha de Comando
jless é um visualizador rápido e somente-leitura para dados JSON (e YAML) no terminal. Em vez de fazer pipe de saída bruta através de less ou jq e rolando paredes de colchetes, você obtém uma árvore colapsável com sintaxe destacada que você pode navegar com atalhos similares ao Vim, dobrar estruturas profundamente aninhadas e pesquisar. É propositalmente construído para explorar respostas de API, arquivos de configuração e grandes documentos JSON rapidamente.
Instalação
| Plataforma | Comando |
|---|
| Cargo (todas as plataformas) | cargo install jless |
| macOS (Homebrew) | brew install jless |
| Arch Linux | sudo pacman -S jless |
| Nix | nix-env -iA nixpkgs.jless |
| Binário | baixe da página GitHub Releases |
| Verificar | jless --version |
Abrindo Dados
| Comando | Descrição |
|---|
jless data.json | Abra um arquivo JSON |
| `cat data.json | jless` |
| `curl -s URL | jless` |
jless --yaml config.yaml | Abra um arquivo YAML |
jless --mode line data.json | Inicie no modo de linha (visualização tipo-raw) |
jless --help | Lista completa de opções |
Movimento
| Tecla | Ação |
|---|
j / k | Para baixo / cima |
h / l | Dobre / expanda (ou mova para pai/filho) |
g / G | Ir para topo / fundo |
Ctrl+f / Ctrl+b | Página para baixo / cima |
Ctrl+d / Ctrl+u | Meia página para baixo / cima |
J / K | Mova para irmão próximo/anterior |
Enter | Alterne dobrar/expandir no nó atual |
Dobrando e Visualizações
| Tecla | Ação |
|---|
Space | Dobre / expanda o nó atual |
c | Dobre todos os irmãos |
e | Expanda todos os filhos recursivamente |
E | Expanda tudo |
C | Dobragem profunda |
Tab (modo) | Alterne entre modo de dados e modo de linha |
% | Pule para o colchete correspondente |
Pesquisa
| Tecla | Ação |
|---|
/pattern | Pesquise para frente |
?pattern | Pesquise para trás |
n / N | Próxima / correspondência anterior |
* | Pesquise pela chave atual |
| Pesquisa é regex | Padrões suportam expressões regulares |
| Tecla | Ação |
|---|
y depois y | Yanque (copie) o valor sob o cursor |
y depois p | Yanque o caminho ao nó atual (ex. .users[0].name) |
y depois v | Yanque o valor |
y depois k | Yanque a chave atual |
. | Mostre o caminho completo do nó atual |
Yanquear o caminho é especialmente prático: navegue para um campo visualmente, depois cole seu caminho estilo jq em um script.
Fluxos de Trabalho Comuns
# Explore uma grande resposta de API sem se afogar em colchetes
curl -s https://api.example.com/data | jless
# Inspecione uma configuração e copie o caminho exato para uma configuração
jless config.json # navegue, depois yy/yp para pegar valor ou caminho
# Procure YAML da mesma forma que JSON
jless --yaml docker-compose.yaml
# Emparelhe com jq: filtre primeiro, depois explore o resultado interativamente
jq '.items' big.json | jless
jless vs Outras Ferramentas JSON
| Aspecto | jless | jq | fx |
|---|
| Modo | Visualizador interativo | Consulta/transformação | Interativo + JS |
| Edição/transformação | Não (somente-leitura) | Sim | Sim |
| UI de árvore dobrável | Sim | Não | Sim |
| Yanque de caminho | Sim | N/A | Sim |
| Melhor para | Exploração/inspeção | Script de transformações | Explore + transforme |
jless é somente-leitura por design — para filtrar e transformar, faça pipe através de jq primeiro, depois explore o resultado em jless.
Recursos