Übersicht
jq empfängt JSON-Daten als Eingabe und verarbeitet und gibt sie auf verschiedene Weisen aus. Es kann einfache Wertextraktionen bis hin zu komplexen Array-/Objektmanipulationen durchführen und ist ein unverzichtbares Werkzeug für die Arbeit mit JSON in Skriptumgebungen.
Hauptfunktionen
- JSON-Daten parsen und formatieren
- Spezifische Felder extrahieren und filtern
- Arrays und Objekte manipulieren
- Daten transformieren und neu strukturieren
Wichtige Optionen
Eingabe-/Ausgabeformat
Filtern/Transformieren
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`jq` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Grundlegende JSON-Formatierung
echo '{"name": "Alice", "age": 30}' | jq .
Gibt die eingegebenen JSON-Daten in einem lesbaren Format aus.
Spezifisches Feld extrahieren
echo '{"name": "Bob", "age": 25}' | jq '.name'
Extrahiert den Wert des Feldes 'name' aus einem JSON-Objekt.
Feld aus Array-Elementen extrahieren
echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq '.[].name'
Extrahiert das Feld 'name' aus jedem Objekt innerhalb eines JSON-Arrays.
Raw-String-Ausgabe
echo '{"city": "Seoul"}' | jq -r '.city'
Gibt den extrahierten Zeichenkettenwert ohne Anführungszeichen aus.
Mehrere Felder auswählen und neues Objekt erstellen
echo '{"name": "Charlie", "age": 40, "email": "charlie@example.com"}' | jq '{name: .name, age: .age}'
Erstellt ein neues Objekt, das nur die Felder 'name' und 'age' aus einem bestehenden Objekt enthält.
Bedingtes Filtern
echo '[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]' | jq '.[] | select(.age >= 30)'
Filtert nur Benutzer heraus, deren Alter 30 oder höher ist.
Array-Elemente transformieren (map)
echo '[{"name": "Alice"}, {"name": "Bob"}]' | jq 'map(.name | ascii_upcase)'
Konvertiert den Namen jedes Benutzers in Großbuchstaben.