jq
how many stores are actually in there:
$ cat file.json | jq 'length'
1134
retrieves the “name” field of each element of the input array.
cat file.json | jq '.[] | .name'
"Graz"
"Baden"
"Zürich"
...
Give us first store.
jq '.[0]'
Select specific fields
jq '.[] | {eta: .eta, ticketID: .ticketID}'
Select specific files shortended.
jq '.[] | {eta, ticketID}'
url encode a string.
jq -sRr @uri <<< "${IPRADAR_SERVICE}" | sed 's/%0A$//g'
jq -r '.results[]|.extra_vars'
Select array name based on content.
jq -r '.[]|select(.name=="the name you want to print")'
Display keys
jq 'keys'
Select specific key
jq -r '. | {all}'
select key based on content
jq 'map_values(select(.group_declare == "true"))' /tmp/tmp
create list of all keys in array.
curl -sk -H "Authorization: Bearer $(oc whoami -t)" https://$(oc get routes -n openshift-monitoring thanos-querier -o jsonpath='{.status.ingress[0].host}')/api/v1/metadata | jq .
echo '{
"data": {
"aggregator_openapi_v2_regeneration_count": [
{
"unit": ""
}
],
"alertmanager_alerts": [
{
"unit": ""
}
]
}
}' | jq -r '.data | keys | flatten[]'
aggregator_openapi_v2_regeneration_count
alertmanager_alerts
convert yaml too json
dnf install python3-pyyaml
oc get node -o yaml | python -c 'import sys, yaml, json; json.dump(yaml.safe_load(sys.stdin), sys.stdout, indent=4)' | jq .