3 Punkte von GN⁺ 2024-03-20 | 1 Kommentare | Auf WhatsApp teilen
  • 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.
  • 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.
  • Installation

    • Installation über Homebrew: brew install ynqa/tap/jnv
    • Installation über Cargo:
      • Voraussetzung: automake
      • Installationsbefehl: cargo install jnv
    • Für jnv muss jq nicht separat auf dem System installiert sein, da es j9, ein Rust-Binding, nutzt.
  • Beispiele

    • Aus Datei lesen: jnv data.json
    • Aus der Standardeingabe lesen: cat data.json | jnv
  • Tastenbelegung

    • Ctrl + C: jnv beenden
    • Tab: Auto-Completion für jq-Filter
    • Pfeiltasten und Ctrl-Kombinationen: Cursor bewegen und Filterzeichen löschen
    • Enter: Auf-/Zuklappen im JSON-Viewer umschalten
    • Ctrl + 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 jq in 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 jq nicht 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

 
GN⁺ 2024-03-20
Hacker-News-Kommentare
  • Sehr cool, ein paar Anmerkungen:

    • Bei mittelgroßem JSON (16 MB) sehr langsam
    • Die Schrift ist zu dunkel (PR eingereicht)
    • Während ich nach einer performanten Alternative gesucht habe, habe ich fx entdeckt, einen schnellen JSON-Viewer ohne jq-Funktionen (fx.wtf)
  • Sieht wirklich interessant aus – werde ich mir definitiv ansehen.

    • Bisher habe ich jq und up für interaktive Abfragen verwendet, aber mir gefällt die UX von up nicht (besonders bei langen Abfragen oder Nicht-ASCII-Daten)
    • Ich bin sehr daran interessiert, einen Ersatz zu finden
  • Wirklich cool!! Werde es installieren, sobald ich meinen Laptop in die Hände bekomme.

    • Ich wurde sofort von dem Beitrag angezogen, weil ich etwas Ähnliches gebaut habe
    • Ich frage mich, ob man die Idee verallgemeinern kann, damit mehr Befehle in der CLI interaktive Interfaces bekommen können
    • Ich stelle mir schon lange einen "Command Builder" vor, der je nach Cursorposition passende Dokumentation lädt und sie während der Bearbeitung der Kommandozeile anzeigt
  • 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.

    • Aber das Problem ist nicht dringend genug, um Zeit hineinzuinvestieren
  • Wenn du Emacs benutzt, gibt es auch jq-mode.

    • Aber die Auto-Completion für Filter in jnv ist wirklich ein starkes Killer-Feature
    • 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.

    • Hinweis: Ich habe dieses Plugin vor Kurzem geschrieben
    • Jq-Plugin
  • Ich wünschte, jeder würde die Alternative "fx" kennen.

    • Damit kann man viel mehr machen, etwa map, filter, reduce usw., und die Semantik liegt näher an dem, was man ohnehin schon kennt
    • Unterstützt auch YAML
    • Erste Schritte mit fx
  • 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?

    • Ich wäre bereit zu helfen
    • Falls das unhöflich rüberkam, entschuldige ich mich