Bei den strukturierten Datenformaten kennt man CSV, XML, JSON und einige weniger bekannte. Der Nachteil von CSV ist, dass es sich auf zwei Dimensionen beschränkt (Zeilen, Spalten), während die beiden anderen Formate beliebige Dimensionen unterstützen. JSON hat in den letzten Jahren XML den Rang abgelaufen, weil seine Syntax weniger aufgebläht ist als XML und es allgemein besser lesbar ist. In einem vorherigen Artikel habe ich gezeigt, wie man durch geschickte Formatierung JSON-Datei noch angenehmer für das Auge darstellen kann. Nun gibt es mit dem Werkzeug tv-cli die Möglichkeit, JSON als Tabelle im Terminal auszugeben.
Die Software ist in Rust geschrieben und wird mit dem Rust Paketmanager und Compiler Cargo installiert und kompiliert. Nach der Installation kann man das Verzeichnis ./cargo/bin dem $PATH hinzufügen und das Werkzeug mit dem Befehl: tv datei.json starten. Als Beispiel diene diese JSON-Datei test.json:
[
{
"first_name": "Camilla",
"city": "Walkerview",
"state": "Maine",
"parents": ["Jack", "Jill"],
"postcode": "47112-5068"
},
{
"first_name": "Gina",
"city": "Rettachester",
"state": "Oregon",
"postcode": "37898"
},
{
"first_name": "Gunnar",
"city": "Smithborough",
"state": "North Dakota",
"postcode": "74798-1567"
},
...
]
Die Ausgabe als Tabelle mit tv test.json sieht so aus:
Die Beispiel-Datei enthält im ersten Datensatz eine weitere Dimension (parents). Wie geht tv-cli damit um? Gar nicht; das Tool zeigt dann drei Punkte an, weil die Daten in einer zweidimensionalen Tabelle nicht weiter aufgelöst werden können.
Weitere Optionen für das Werkzeug tv-cli findet ihr auf dieser GitHub Seite: