0
我正在構建一個處理特定Chef/node數據的JSON的腳本。我需要獲取每個對象的名稱,因爲每次都會有所不同。通常我使用jsawk,但這隻有在知道對象的名稱時纔有用。用Bash迭代JSON字符串
{"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的
它不適用於對象內部的對象,但作者可能不需要這樣 –
這兩個示例都不需要。兩者都要求提供對象的頂級鍵。 – chepner
我會給你介紹我的jq ...但我真的想遍歷鍵。 ((i = 0; i <$ jslength; i ++));這是否與此:'jslength = $(echo $ attributes | jq'keys | length') \t for做 \t \t結果= $(回聲$屬性| JQ '鑰匙' | JQ」 [$ i]。 「) \t \t回聲$結果 \t done' – user3063045