My json looks like this :
{"20160522201409-jobsv1-1": {"vmStateDisplayName": "Ready","servers": {"20160522201409 jobs_v1 1": {"serverStateDisplayName": "Ready","creationDate": "2016-05-22T20:14:22.000+0000","state": "READY","provisionStatus": "PENDING","serverRole": "ROLE","serverType": "SERVER","serverName": "20160522201409 jobs_v1 1","serverId": 2902 } },"isAdminNode": true,"creationDate": "2016-05-22T20:14:23.000+0000","totalStorage": 15360,"shapeId": "ot1","state": "READY","vmId": 4353,"hostName": "20160522201409-jobsv1-1","label": "20160522201409 jobs_v1 ADMIN_SERVER 1","ipAddress": "10.252.159.39","publicIpAddress": "10.252.159.39","usageType": "ADMIN_SERVER","role": "ADMIN_SERVER","componentType": "jobs_v1" }}
My key keeps changing from time to time. So for example 20160522201409-jobsv1-1
may be something else tomorrow. Also I may more than one such entry in the json payload.
I want to echo $KEYS
and I am trying to do it using jq
.
Things I have tried : | jq .KEYS
is the command i use frequently.
Is there a jq command to display all the primary keys in the json?
I only care about the hostname
field. And I would like to extract that out. I know how to do it using grep
but it is NOT a clean approach.