Fish Shell:
Arbeiten mit JSON

Wie geht das:

Die Fish Shell selbst verfügt nicht über integrierte Hilfsprogramme zum Parsen und Generieren von JSON. Sie integriert sich jedoch nahtlos in Drittanbieter-Tools wie jq für die JSON-Verarbeitung. jq ist ein leistungsstarker und vielseitiger Befehlszeilen-JSON-Prozessor, der es Ihnen ermöglicht, strukturierte Daten einfach und ausdrucksstark zu schneiden, zu filtern, zu mappen und zu transformieren.

JSON mit jq parsen

Um eine JSON-Datei zu parsen und Daten mit jq zu extrahieren:

# Angenommen, Sie haben eine JSON-Datei namens 'data.json' mit dem Inhalt: {"name":"Fish Shell","version":"3.4.0"}
cat data.json | jq '.name'
# Beispiel Ausgabe
"Fish Shell"

JSON mit jq generieren

JSON-Inhalte aus Shell-Variablen oder -Ausgaben erstellen:

# JSON-Objekt aus Variablen erstellen
set name "Fish Shell"
set version "3.4.0"
jq -n --arg name "$name" --arg version "$version" '{name: $name, version: $version}'
# Beispiel Ausgabe
{
  "name": "Fish Shell",
  "version": "3.4.0"
}

JSON-Sammlungen filtern

Angenommen, wir haben ein JSON-Array von Objekten in einer Datei namens versions.json:

[
  {"version": "3.1.2", "stable": true},
  {"version": "3.2.0", "stable": false},
  {"version": "3.4.0", "stable": true}
]

Um dieses Array nur nach stabilen Versionen zu filtern:

cat versions.json | jq '.[] | select(.stable == true) | .version'
# Beispiel Ausgabe
"3.1.2"
"3.4.0"

Die bereitgestellten Beispiele demonstrieren die Kraft der Integration von jq in die Fish Shell für JSON-Operationen. Die Nutzung solcher Tools bereichert das Erlebnis in der Shell und macht sie zu einer formidablen Umgebung für die Handhabung moderner Datenformate.