jless - Visionneuse JSON en ligne de commande
jless est un visionneur rapide et en lecture seule pour les données JSON (et YAML) dans le terminal. Au lieu de transférer la sortie brute via less ou jq et de dérouler les murs de crochets, vous obtenez un arbre déroulant syntaxiquement mis en évidence que vous pouvez naviguer avec des touches de style Vim, replier les structures profondément imbriquées, et chercher. C”est un outil spécialisé pour explorer rapidement les réponses API, les fichiers de configuration et les gros documents JSON.
Installation
| Plateforme | Commande |
|---|
| Cargo (toutes les plateformes) | cargo install jless |
| macOS (Homebrew) | brew install jless |
| Arch Linux | sudo pacman -S jless |
| Nix | nix-env -iA nixpkgs.jless |
| Binaire | télécharger depuis la page GitHub Releases |
| Vérifier | jless --version |
Ouverture des données
| Commande | Description |
|---|
jless data.json | Ouvrir un fichier JSON |
| `cat data.json | jless` |
| `curl -s URL | jless` |
jless --yaml config.yaml | Ouvrir un fichier YAML |
jless --mode line data.json | Commencer en mode ligne (vue brute) |
jless --help | Liste complète des options |
Mouvement
| Touche | Action |
|---|
j / k | Bas / haut |
h / l | Replier / dérouler (ou déplacer vers parent/enfant) |
g / G | Aller au début / fin |
Ctrl+f / Ctrl+b | Page bas / haut |
Ctrl+d / Ctrl+u | Demi-page bas / haut |
J / K | Déplacer vers le frère suivant/précédent |
Entrée | Basculer dérouler/replier sur le nœud actuel |
Repliage et vues
| Touche | Action |
|---|
Space | Replier / dérouler le nœud actuel |
c | Replier tous les frères |
e | Dérouler tous les enfants de manière récursive |
E | Dérouler tout |
C | Repliage profond |
Tab (mode) | Basculer entre le mode données et le mode ligne |
% | Sauter au crochet correspondant |
Recherche
| Touche | Action |
|---|
/pattern | Chercher vers l”avant |
?pattern | Chercher vers l”arrière |
n / N | Correspondance suivante / précédente |
* | Chercher la clé actuelle |
| Recherche est regex | Les motifs supportent les expressions régulières |
Travail avec les chemins et valeurs
| Touche | Action |
|---|
y puis y | Yank (copier) la valeur sous le curseur |
y puis p | Yank le chemin vers le nœud actuel (par ex. .users[0].name) |
y puis v | Yank la valeur |
y puis k | Yank la clé actuelle |
. | Afficher le chemin complet du nœud actuel |
Yanking le chemin est particulièrement pratique: naviguer vers un champ visuellement, puis coller son chemin de style jq dans un script.
Flux de travail courants
# Explorer une grande réponse API sans se noyer dans les crochets
curl -s https://api.example.com/data | jless
# Inspecter une config et copier le chemin exact vers un paramètre
jless config.json # naviguer, puis yy/yp pour saisir la valeur ou le chemin
# Parcourir YAML de la même manière que JSON
jless --yaml docker-compose.yaml
# Associer à jq: filtrer d''abord, puis explorer le résultat de manière interactive
jq '.items' big.json | jless
jless vs Autres outils JSON
| Aspect | jless | jq | fx |
|---|
| Mode | Visionneuse interactive | Requête/transformation | Interactif + JS |
| Édition/transformation | Non (lecture seule) | Oui | Oui |
| Interface utilisateur d”arbre déroulant | Oui | Non | Oui |
| Yank de chemin | Oui | N/A | Oui |
| Meilleur pour | Exploration/inspection | Scripting de transformations | Explorer + transformer |
jless est en lecture seule par conception — pour le filtrage et la transformation, transférer via jq d”abord, puis explorer le résultat dans jless.
Ressources