escape string for json
echo '"hello world"' | jq '@json'
tutorial at: https://stedolan.github.io/jq/tutorial/
cat issues.json | jq '.[].title' -cr
-r: raw output
-c: compact output
Iterate and return json
jq '.DBInstances[] | {id: .DBInstanceIdentifier, status: .DBInstanceStatus}'
List AWS instances
aws ec2 describe-instances | jq -c -r '.Reservations[] | .Instances[] | { name: .Tags[] | select(.Key == "Name").Value, id: .InstanceId, launched: .LaunchTime, }' | sort
TSV Output
kubectl get events -o json | jq '.items[] | "\(.lastTimestamp)\t\(.reason)\t\(.message)"' -c -r
Keys of a hash
echo '{"a":1,"b":2}' | jq 'keys[] | .' -c -r
jq for html
go get -v github.com/ericchiang/pup
env file of a kubernetes pod
kubectl -n perf-test get pods/perf-test-d44f7d686-q5c6p -o json | jq '.spec.containers[0] | .env[] | "\(.name)=\(.value)"' -c -r
text to json
echo 'foo bar "baz"' | jq -R -s -c '.' (see https://stackoverflow.com/questions/26287130/converting-lines-to-json-in-bash)