jless - Visor JSON de Línea de Comandos
jless es un visor rápido y de solo lectura para datos JSON (y YAML) en la terminal. En lugar de canalizar salida cruda a través de less o jq y desplazarse a través de muros de corchetes, obtienes un árbol colapsable resaltado sintácticamente que puedes navegar con teclas tipo Vim, doblar estructuras profundamente anidadas, y buscar. Está propósito-construido para explorar respuestas de API, archivos de configuración, y documentos JSON grandes rápidamente.
Instalación
| Plataforma | Comando |
|---|
| Cargo (todas las plataformas) | cargo install jless |
| macOS (Homebrew) | brew install jless |
| Arch Linux | sudo pacman -S jless |
| Nix | nix-env -iA nixpkgs.jless |
| Binario | descarga de la página de GitHub Releases |
| Verificar | jless --version |
Abriendo Datos
| Comando | Descripción |
|---|
jless data.json | Abre un archivo JSON |
cat data.json | jless | Canaliza JSON desde stdin |
curl -s URL | jless | Explora una respuesta de API |
jless --yaml config.yaml | Abre un archivo YAML |
jless --mode line data.json | Comienza en modo línea (vista cruda-ish) |
jless --help | Lista completa de opciones |
Movimiento
| Tecla | Acción |
|---|
j / k | Abajo / arriba |
h / l | Colapsa / expande (o mueve a padre/hijo) |
g / G | Ir a arriba / abajo |
Ctrl+f / Ctrl+b | Página abajo / arriba |
Ctrl+d / Ctrl+u | Media página abajo / arriba |
J / K | Mueve a siguiente/anterior hermano |
Enter | Alterna expandir/colapsar en el nodo actual |
Doblado y Vistas
| Tecla | Acción |
|---|
Space | Colapsa / expande el nodo actual |
c | Colapsa todos los hermanos |
e | Expande todos los hijos recursivamente |
E | Expande todo |
C | Colapso profundo |
Tab (modo) | Alterna entre modo de datos y modo de línea |
% | Salta al corchete coincidente |
Búsqueda
| Tecla | Acción |
|---|
/pattern | Busca adelante |
?pattern | Busca hacia atrás |
n / N | Siguiente / anterior coincidencia |
* | Busca la clave actual |
| La búsqueda es regex | Los patrones soportan expresiones regulares |
Trabajando con Rutas y Valores
| Tecla | Acción |
|---|
y luego y | Arranca (copia) el valor bajo el cursor |
y luego p | Arranca la ruta al nodo actual (ej. .users[0].name) |
y luego v | Arranca el valor |
y luego k | Arranca la clave actual |
. | Muestra la ruta completa del nodo actual |
Arrancar la ruta es especialmente útil: navega a un campo visualmente, luego pega su ruta de estilo jq en un script.
Flujos de Trabajo Comunes
# Explora una respuesta de API grande sin ahogarse en corchetes
curl -s https://api.example.com/data | jless
# Inspecciona una configuración y copia la ruta exacta a una configuración
jless config.json # navega, luego yy/yp para agarrar valor o ruta
# Explora YAML de la misma manera que JSON
jless --yaml docker-compose.yaml
# Empareja con jq: filtra primero, luego explora el resultado interactivamente
jq '.items' big.json | jless
jless vs Otras Herramientas JSON
| Aspecto | jless | jq | fx |
|---|
| Modo | Visor interactivo | Consulta/transformación | Interactivo + JS |
| Edición/transformación | No (solo lectura) | Sí | Sí |
| Interfaz de árbol doblado | Sí | No | Sí |
| Arranca ruta | Sí | N/A | Sí |
| Mejor para | Exploración/inspección | Scripting de transformaciones | Exploración + transformación |
jless es de solo lectura por diseño — para filtrado y transformación, canaliza a través de jq primero, luego explora el resultado en jless.
Recursos