ubuntuusers.de

gron

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

gron ist ein Kommandozeilenprogramm, welches JSON 🇬🇧 in eine lineare Struktur umwandelt, primär um es "grepable", also mit grep durchsuchbar, zu machen. gron ist damit ein ideales Tool, um Datensätze einer JSON-Datei zu durchsuchen, ohne dabei deren Datenstruktur kennen und beachten zu müssen. Zum Abfragen von JSON-Daten, bei denen man die Datenstruktur kennt und miteinbeziehen will, nutzt man besser Werkzeuge wie jq.

gron ist in Go geschrieben und ist außer für Linux auch für Windows, MacOS und FreeBSD verfügbar.

Installation

gron ist als fertig kompilierte Binärdatei verfügbar. Zum Installieren lädt man von der Releases Seite das für sein System passende Archiv herunter (z.B. gron-linux-amd64-0.7.1.tgz für die Version 0.7.1. für 64bit Linux Systeme), entpackt dieses[1] und kopiert die darin enthaltene Datei gron in ein Verzeichnis für ausführbare Programme, z.B. /home/BENUTZEER/.local/usr/bin oder /home/BENUTZEER/.local/bin (Ubuntu 20.04). Danach ist gron einsatzbereit.

Hinweis!

Fremdsoftware kann das System gefährden.

Benutzung

Die allgemeine Syntax von gron lautet[2]:

gron [OPTION(EN)] DATEI_ODER_URL 

Wird keine Datei oder URL angegeben, liest das Programm von der Standardeingabe.

Hat man z.B. eine JSON-Datei mit dem folgenden Inhalt

1
2
3
4
{
"for": "bar",
"spam": [1, 2, 3]
}

ergibt der Aufruf

gron daten.json 

die folgende Ausgabe:

1
2
3
4
5
6
json = {};
json.foo = "bar";
json.spam = [];
json.spam[0] = 1;
json.spam[1] = 2;
json.spam[2] = 3;

Die Ausgabe kann man dann z.B. auch mit grep durchsuchen / filtern.

echo '{"foo": "bar", "spam": [1 , 2, 3]}' | gron | grep "spam" | grep 0 

json.spam[0] = 1;

gron kann auch Daten direkt zurück nach JSON wandeln, indem man die Option -u nutzt, wie z.B.:

echo '{"foo": "bar", "spam": [1 , 2, 3]}' | gron | grep "spam" | gron -u 

ergibt:

1
2
3
4
5
6
7
{
  "spam": [
     1,
     2,
     3
  ]
}

Wie weiter oben erwähnt kann gron auch direkt auch URLs angewendet werden, die JSON zurück liefern, wie im folgenden Beispiel gezeigt:

gron http://headers.jsontest.com 
1
2
3
4
5
6
json = {};
json.Accept = "application/json";
json.Host = "headers.jsontest.com";
json.traceparent = "00-04b0d4454c7227169deb44dc945a2208-91620c68a95602d1-00";
json["User-Agent"] = "gron/dev";
json["X-Cloud-Trace-Context"] = "04b0d4454c7227169deb44dc945a2208/10475949326874313425";

Deinstallation

Zum Entfernen des Programms löscht man einfach die Datei gron aus dem Verzeichnis, in das man sie entpackt hat.

Diese Revision wurde am 26. Juli 2022 01:43 von mubuntuHH erstellt.