Show HN : jnv : filtre JSON interactif avec jq
(github.com/ynqa)-
jnv_jnv_ pour explorer du JSON
- jnv_jnv_ fournit un visualiseur JSON interactif et un éditeur de filtres
jq. - Conçu en s’inspirant de jid et jiq.
- jnv_jnv_ fournit un visualiseur JSON interactif et un éditeur de filtres
-
Fonctionnalités
- Visualiseur JSON interactif et éditeur de filtres
jqavec coloration syntaxique JSON. - Peut récupérer du JSON depuis l’entrée standard (stdin), des fichiers ou des URL.
- Prise en charge de l’autocomplétion des filtres.
- Types de filtres pris en charge : Identity, Object Identifier-Index, Array Index.
- Fournit des messages d’aide pour l’évaluation des filtres.
- Visualiseur JSON interactif et éditeur de filtres
-
Installation
- Installation via Homebrew :
brew install ynqa/tap/jnv - Installation via Cargo :
- Prérequis : automake
- Commande d’installation :
cargo install jnv
- jnv n’exige pas que l’utilisateur installe
jqsur son système, car il utilise j9, un binding Rust.
- Installation via Homebrew :
-
Exemples
- Lire depuis un fichier :
jnv data.json - Lire depuis l’entrée standard :
cat data.json | jnv
- Lire depuis un fichier :
-
Raccourcis clavier
Ctrl + C: quitter jnvTab: autocomplétion du filtre jq- Touches fléchées et combinaisons avec
Ctrl: déplacement du curseur et suppression de caractères du filtre Enter: basculer l’expansion/la réduction dans le visualiseur JSONCtrl + P/N: étendre/réduire tous les replis dans le visualiseur JSON
-
Utilisation
- Explorateur JSON et filtre interactif utilisant jq.
- Exemple d’utilisation :
jnv [OPTIONS] [INPUT] - Options :
- Définir le mode d’édition :
insertouoverwrite - Ajuster le format d’affichage du JSON : modifier le niveau d’indentation
- Afficher ou non les indices : afficher des indices fournissant des suggestions ou des guides à l’utilisateur
- Définir la profondeur d’expansion initiale : profondeur d’expansion initiale des nœuds JSON
- Contrôler la longueur de la liste de suggestions : ajuster la longueur de la liste de suggestions pour permettre à l’utilisateur de faire ses choix plus efficacement
- Définir le mode d’édition :
L’avis de GN⁺
- jnv_jnv_ est un outil qui permet d’explorer et de filtrer facilement des données JSON, particulièrement utile pour les développeurs qui manipulent de grands jeux de données.
- Cet outil rend le puissant
jqplus efficace à utiliser grâce à une interface conviviale pour le traitement des données JSON. - jnv_jnv_ étant implémenté en Rust, il peut offrir des avantages en matière de performances et de stabilité, et le fait qu’il ne soit pas nécessaire d’installer
jqséparément sur le système est aussi un atout. - Parmi les autres outils offrant des fonctions similaires, on peut citer des outils de test d’API comme Postman ou Insomnia, mais ils sont principalement axés sur les tests d’API et sont donc moins spécialisés que jnv_jnv_ pour l’exploration pure de JSON.
- Lors de l’adoption de jnv_jnv_, il faut prendre en compte l’intuitivité de l’interface utilisateur et les limites des fonctions de filtrage ; si un traitement JSON complexe est nécessaire, il peut aussi être utile d’apprendre séparément les scripts
jq.
1 commentaires
Commentaires Hacker News
Très sympa, quelques remarques :
Ça a l’air vraiment intéressant — je vais clairement aller voir.
Vraiment génial !! Je l’installerai dès que j’aurai mon laptop sous la main.
Vraiment sympa ! Ça ressemble beaucoup à jless.
Il m’arrive parfois de me dire que ce serait bien de pouvoir chercher dans une sortie JSON depuis le navigateur ou un IDE.
Si vous utilisez Emacs, il y a aussi jq-mode.
Vraiment sympa ; ce qui m’a toujours frustré avec jq, c’est qu’on ne peut pas voir quelles données on va obtenir avant de lancer la recherche dans les données.
Si vous utilisez Sublime Text, il existe un plugin qui permet de faire ça.
J’aimerais que tout le monde connaisse l’alternative « fx ».
Très sympa. Je ne sais pas si j’en demande trop, mais serait-il possible de l’adapter pour qu’il fonctionne aussi avec OjG, qui utilise JSONPath au lieu de la syntaxe jq ?