我有一個巨大的JSON對象,我想將它過濾掉,只佔可用字段的一小部分。我搜索了一些類似的問題,例如enter link description here,但這是針對一組對象。我有一個JSON對象,看起來像:如何使用JQ過濾來自JSON的密鑰?
{
"timestamp":1455408955250999808,
"client":
{
"ip":"76.72.172.208",
"srcPort":0,
"country":"us",
"deviceType":"desktop"},
"clientRequest":
{
"bytes":410,
"bodyBytes":0}
}
我想要做的就是創建一個新的JSON對象看起來喜歡:
{
"timestamp":1455408955250999808,
"client":
{
"ip":"76.72.172.208",
}
"clientRequest":
{
"bytes":410
}
}
所以有效過濾下來的數據。我已經試過: | jq 'map({client.ip: .client.ip, timestamp: .timestamp})'
和我繼續得到:
jq: error (at <stdin>:0): Cannot index number with string "client"
即使是最簡單的| jq 'map({timestamp: .timestamp})'
正顯示出同樣的錯誤。
我以爲我可以訪問K,V對,並使用地圖函數作爲人爲他的數組在上面鏈接的問題。任何幫助非常感謝。
它比這更簡單:不需要最初的'.',在這裏可以將「Id:.Id」縮寫爲「Id」。所以:'jq'{Id,client:{ip:.client.ip}}'就足夠了。 – peak