Command-line JSON processing. Filters, selectors, transforms, recipes you actually use.
field$name (string)$name (parsed JSON)$name{key, value} pairs{name: .name, email: .email}[0, 1, ..., 9]cat users.json | jq '.[].email'
jq '.users | map(select(.active) | {id, email})' file.json
jq 'group_by(.country) | map({country: .[0].country, count: length})'
jq 'sort_by(.score) | reverse | .[0:5]'
jq -r '.[] | [.id, .name, .email] | @csv' file.json
cat compact.json | jq '.'
curl -s https://terminalfeed.io/api/btc-price | jq '.data.price'
jq '[.items[].amount] | add'
jq --arg name "Alice" '.users[] | select(.name == $name)'
jq --argjson min 5 '.items | map(select(.score >= $min))'
jq -s '.' file1.json file2.json file3.json
jq '.. | strings | select(contains("error"))'