Filter by field jq
Select objects where a field equals a value
cat data.json | jq '.items[] | select(.status == "Running")'
more jq
all 17 commands →
Extract specific fields
cat data.json | jq '[.items[] | {name:.metadata.name, ns:.metadata.namespace}]'
Group by field
cat data.json | jq 'group_by(.namespace) | map({ns: .[0].namespace, count: length})'
Delete a field
cat data.json | jq 'del(.metadata.managedFields)'
Convert array to lines
cat data.json | jq -r '.items[].metadata.name'
Merge two JSON objects
jq -s '.[0] * .[1]' base.json override.json