jq

jq is een commandoregeltool om JSON te doorzoeken, filteren en transformeren.

Basisgebruik

echo '{"naam":"jan"}' | jq '.naam'
curl -s https://api.example.com/data | jq '.'

Veelgebruikte filters

FilterBetekenis
.Toon de hele (geformatteerde) JSON
.veldToon waarde van een veld
.[]Doorloop alle elementen van een array
.[0]Eerste element van een array
-rToon string-resultaten zonder aanhalingstekens
select(.veld == waarde)Filter op voorwaarde
keysToon alle sleutels van een object

Voorbeelden

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")'

Tip

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.

scriptingtekst