Show HN: jnv: Interaktiver JSON-Filter mit jq
(github.com/ynqa)-
jnv_jnv_ für die JSON-Erkundung
- jnv_jnv_ bietet einen interaktiven JSON-Viewer und einen
jq-Filter-Editor. - Es wurde mit Inspiration von jid und jiq entwickelt.
- jnv_jnv_ bietet einen interaktiven JSON-Viewer und einen
-
Funktionen
- Interaktiver JSON-Viewer und
jq-Filter-Editor mit JSON-Syntax-Highlighting. - Kann JSON aus der Standardeingabe (stdin), aus Dateien und von URLs einlesen.
- Unterstützt Auto-Completion für Filter.
- Unterstützte Filtertypen: Identity, Object Identifier-Index, Array Index.
- Bietet Hinweisnachrichten für die Auswertung von Filtern.
- Interaktiver JSON-Viewer und
-
Installation
- Installation über Homebrew:
brew install ynqa/tap/jnv - Installation über Cargo:
- Voraussetzung: automake
- Installationsbefehl:
cargo install jnv
- Für jnv muss
jqnicht separat auf dem System installiert sein, da es j9, ein Rust-Binding, nutzt.
- Installation über Homebrew:
-
Beispiele
- Aus Datei lesen:
jnv data.json - Aus der Standardeingabe lesen:
cat data.json | jnv
- Aus Datei lesen:
-
Tastenbelegung
Ctrl + C: jnv beendenTab: Auto-Completion für jq-Filter- Pfeiltasten und
Ctrl-Kombinationen: Cursor bewegen und Filterzeichen löschen Enter: Auf-/Zuklappen im JSON-Viewer umschaltenCtrl + P/N: Alle Faltungen im JSON-Viewer auf-/zuklappen
-
Verwendung
- JSON-Explorer und interaktiver Filter mit jq.
- Beispiel für die Verwendung:
jnv [OPTIONS] [INPUT] - Optionen:
- Bearbeitungsmodus festlegen: "insert" oder "overwrite"
- JSON-Anzeigeformat anpassen: Einrückungstiefe ändern
- Anzeige von Hinweisen: Ob Hinweise angezeigt werden sollen, um dem Benutzer Vorschläge oder Orientierung zu geben
- Anfängliche Ausklapptiefe festlegen: die anfängliche Ausklapptiefe von JSON-Knoten
- Länge der Vorschlagsliste steuern: die Länge der Vorschlagsliste anpassen, damit Benutzer effizienter auswählen können
Meinung von GN⁺
- jnv_jnv_ ist ein Tool, das das einfache Erkunden und Filtern von JSON-Daten ermöglicht und besonders für Entwickler nützlich ist, die mit großen Datensätzen arbeiten.
- Das Tool stellt die leistungsstarken Funktionen von
jqin einer benutzerfreundlichen Oberfläche bereit und macht die Verarbeitung von JSON-Daten dadurch effizienter. - Da jnv_jnv_ in Rust implementiert ist, kann es Vorteile bei Performance und Stabilität bieten; außerdem ist es ein Pluspunkt, dass
jqnicht separat auf dem System installiert werden muss. - Andere Tools mit ähnlichen Funktionen sind API-Testwerkzeuge wie Postman oder Insomnia, diese konzentrieren sich jedoch hauptsächlich auf API-Tests und sind für die reine JSON-Erkundung weniger spezialisiert als jnv_jnv_.
- Bei der Einführung von jnv_jnv_ sollten die Intuitivität der Benutzeroberfläche und die Grenzen der Filterfunktionen berücksichtigt werden; für komplexe JSON-Verarbeitung kann es nötig sein,
jq-Skripte zusätzlich zu lernen.
1 Kommentare
Hacker-News-Kommentare
Sehr cool, ein paar Anmerkungen:
Sieht wirklich interessant aus – werde ich mir definitiv ansehen.
Wirklich cool!! Werde es installieren, sobald ich meinen Laptop in die Hände bekomme.
Wirklich cool! Sieht jless sehr ähnlich.
Manchmal denke ich, es wäre schön, in JSON-Ausgaben direkt im Browser oder in der IDE suchen zu können.
Wenn du Emacs benutzt, gibt es auch jq-mode.
Wirklich cool, was mich bei jq immer frustriert hat, ist, dass man nicht sehen kann, welche Daten man bekommt, bevor man die Daten tatsächlich abfragt.
Wenn du Sublime Text benutzt, gibt es ein Plugin, das das möglich macht.
Ich wünschte, jeder würde die Alternative "fx" kennen.
Sehr cool. Vielleicht ist das zu viel verlangt, aber könnte man das auch so anpassen, dass es mit OjG funktioniert, das statt jq-Syntax JSONPath verwendet?