我正在构建一个脚本来处理特定Chef /节点数据的JSON。我需要得到每个对象的名称,因为它每次都会有所不同。通常我使用jsawk但这只有在知道对象名称时才有用。
解决方案应适用于以下任一示例:
{"keepalived":{"role":"MASTER","vip":"192.168.4.113"},"mysql":{"service_name":"singularitydb"},"haproxy":{"role":"MASTER"}}
应该返回:keepalived,mysql,haproxy
{"nginx":{"attribute":"standalone"},"haproxy":{"role":"MASTER"}}
应该返回:nginx,haproxy
答案 0 :(得分:5)
使用jq
:
echo "$JSON" | jq 'keys'