[英]json parsing with jq and convert to csv
我需要使用JQ從json文件中獲取一些值。 我需要獲取一個csv(時間,Data.key,緯度,經度,Qline)
輸入:
{
"Time":"14:16:23",
"Data":{
"101043":{
"Lat":49,
"Lng":15,
"Qline":420
},
"101044":{
"Lat":48,
"Lng":15,
"Qline":421
}
}
}
csv的示例輸出:
"14:16:23", 101043, 49, 15, 420
"14:16:23", 101044, 48, 15, 421
非常感謝。 我只想:
cat test.json | jq '.Data[] |[ .Lat, .Lng, .Qline ] | @csv'
嘗試這個:
{ Time } + (.Data | to_entries[] | { key: .key | tonumber } + .value)
| [ .Time, .key, .Lat, .Lng, .Qline ]
| @csv
確保使用-r
開關獲取原始輸出。
這是另一個不包含+的解決方案。
{Time, Data: (.Data | to_entries)[]}
| [.Time, (.Data.key | tonumber), .Data.value.Lat, .Data.value.Lng, .Data.value.Qline]
| @csv
這是另一種解決方案。 如果data.json
包含樣本數據,則
jq -M -r '(.Data|keys[]) as $k | {Time,k:$k}+.Data[$k] | [.[]] | @csv' data.json
將產生
"14:16:23","101043",49,15,420
"14:16:23","101044",48,15,421
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.