2017-01-18 73 views
2

這一定非常簡單,但手冊頁對我來說毫無意義。 curl example.com/json給我基本的jq用法。如何獲取嵌套值

{ 
"stats": { 
    "storage_server.disk_total": XXXXXXXXXX 
}, 
"counters": {} 
} 

,我想提取disk_total的價值XXXXXXXXXX。這是什麼語法?

+0

'.stats []。storage_server'?適用於我的結構完全相同(我認爲)。 –

回答

2
  1. 學習如何構建JQ查詢,它是看tutorialmanual比「人」的頁面更加有用。還有一個FAQ
  2. 內部鍵名稱中包含句點,因此不能使用簡寫形式.keyname。所以,你可以寫:

.stats["storage_server.disk_total"] 

,或者如果你的JQ允許它:

.stats."storage_server.disk_total" 

這些是兩個縮寫:

.stats | .["storage_server.disk_total"] 
1

芹苴點在`storage_server.disk_total」需要進行轉義,以防止它被解釋爲一個對象鍵分離,所以你可以使用:

jq '.stats."storage_server.disk_total"' 

假設XXXXXXXXXX是一個有效的JSON數你真正的JSON。