jq is een commandoregeltool om JSON te doorzoeken, filteren en transformeren.
echo '{"naam":"jan"}' | jq '.naam'
curl -s https://api.example.com/data | jq '.'
| Filter | Betekenis |
|---|---|
. | Toon de hele (geformatteerde) JSON |
.veld | Toon waarde van een veld |
.[] | Doorloop alle elementen van een array |
.[0] | Eerste element van een array |
-r | Toon string-resultaten zonder aanhalingstekens |
select(.veld == waarde) | Filter op voorwaarde |
keys | Toon alle sleutels van een object |
JSON netjes formatteren (pretty-print):
cat data.json | jq '.'
Eén veld uit elk item van een array halen:
cat gebruikers.json | jq '.[].naam'
Resultaat zonder aanhalingstekens, klaar voor scripting:
curl -s https://api.example.com/status | jq -r '.status'
Filteren op een voorwaarde:
cat servers.json | jq '.[] | select(.status == "actief")'
Gebruik jq -r als je de uitvoer verder wilt verwerken in bash (bijv. in een for-lus) — zonder -r staan strings tussen aanhalingstekens, wat scripting lastiger maakt.