這是我從我的 api 中提取的原始資料:
{
"observations": [
{
"winddir": 292,
"humidity": 92,
"qcStatus": 1,
"imperial": {
"temp": 20,
"heatIndex": 20,
"dewpt": 40,
"windChill": 20,
"windSpeed": 3,
"windGust": 3,
"pressure": 29.71,
"precipRate": 0,
"precipTotal": 0.01,
"elev": 1905
}
}
]
}
這是我運行的命令:
curl -s 'https://api.myawesomeapidata.com' | jq -r '.observations[].winddir, .observations[].humidity, .observations[].imperial.temp'
這是輸出:
292
92
20
這是我想要的輸出:
Wind Direction: 292
Humidity: 92
Temperature: 20
但如果這是輸出,我會很好:
winddir: 292
humidity: 92
temp: 20
如您所見,我希望鍵出現在值的前面。最好允許我在列印之前更改鍵的名稱(風向),但我也可以使用原始鍵名(winddir)。
uj5u.com熱心網友回復:
試試這個使用字串插值
… | jq -r '.observations[]
| "Wind Direction: \(.winddir)"
, "Humidity: \(.humidity)"
, "Temperature: \(.imperial.temp)"
'
Wind Direction: 292
Humidity: 92
Temperature: 20
演示
uj5u.com熱心網友回復:
然而,你可以保留原來的鍵名,通過使用
jq -r '.observations[] | {winddir},{humidity},(.imperial| {temp})| "\(keys[]) : \(.[])"'
結果
winddir : 292
humidity : 92
temp : 20
Demo
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/397460.html
