Bash:
Arbeiten mit JSON

Wie geht das:

Bash selbst hat keine eingebauten JSON-Parsing-Fähigkeiten, aber jq ist ein leistungsfähiger Kommandozeilen-JSON-Prozessor, der diese Lücke füllt. So nutzen Sie es:

Ein JSON-File lesen:

Beispiel data.json:

{
  "name": "Jane Doe",
  "email": "[email protected]",
  "location": {
    "city": "New York",
    "country": "USA"
  }
}

Um den Namen aus der JSON-Datei zu lesen und zu extrahieren:

jq '.name' data.json

Ausgabe:

"Jane Doe"

JSON-Daten modifizieren:

Um die Stadt auf “Los Angeles” zu aktualisieren und zurück in die Datei zu schreiben:

jq '.location.city = "Los Angeles"' data.json > temp.json && mv temp.json data.json

JSON aus einer Variablen parsen:

Wenn Sie JSON in einer Bash-Variablen haben, kann jq es trotzdem verarbeiten:

json_string='{"name": "John Doe", "email": "[email protected]"}'
echo $json_string | jq '.name'

Ausgabe:

"John Doe"

Mit Arrays arbeiten:

Gegeben sei ein Array von Elementen in JSON:

{
  "items": ["apple", "banana", "cherry"]
}

Um das zweite Element zu extrahieren (Indizierung beginnt bei 0):

jq '.items[1]' data.json

Ausgabe:

"banana"

Für komplexere Operationen und Filterungen hat jq ein umfassendes Handbuch und Tutorials online verfügbar, was es zu einem vielseitigen Werkzeug für all Ihre Bash/JSON-Anforderungen macht.