jq ist ein Kommandozeilen-Tool zur Verarbeitung und Formatierung von JSON-Daten. Es erlaubt das Filtern, Transformieren und Abfragen von JSON-Strukturen.
echo '{"name":"Alice","age":25}' | jq .
{ "name": "Alice", "age": 25 }
{ "user": { "name": "Alice", "details": { "age": 25, "city": "Berlin" } } }
echo '{"user":{"name":"Alice","details":{"age":25,"city":"Berlin"}}}' | jq .user.details.city
"Berlin"
[ {"name": "Alice", "age": 25}, {"name": "Bob", "age": 30} ]
echo '[{"name":"Alice","age":25},{"name":"Bob","age":30}]' | jq '.[0].name'
"Alice"
echo '[{"name":"Alice","age":25},{"name":"Bob","age":30}]' | jq '.[].name'
"Alice" "Bob"
echo '[{"name":"Alice","age":25},{"name":"Bob","age":30}]' | jq '[.[] | select(.age > 25)]'
[ { "name": "Bob", "age": 30 } ]
echo '[{"name":"Alice","age":25},{"name":"Bob","age":30}]' | jq '[.[] | {name: (.name | ascii_upcase), age}]'
[ { "name": "ALICE", "age": 25 }, { "name": "BOB", "age": 30 } ]