[英]I need assistance in parsing a JSON file to a .csv file using jq
好的,所以這是需要解析的相當簡單的 JSON 源文件......
{
"status": "ok",
"meta": {
"count": 10
},
"data": {
"1040918564": [
{
"statistics": {
"wins": 166,
"battles": 441
},
"mark_of_mastery": 1,
"tank_id": 9505
},
{
"statistics": {
"wins": 154,
"battles": 325
},
"mark_of_mastery": 1,
"tank_id": 47105
}
],
"1040836357": [
{
"statistics": {
"wins": 216,
"battles": 490
},
"mark_of_mastery": 1,
"tank_id": 47105
},
{
"statistics": {
"wins": 114,
"battles": 254
},
"mark_of_mastery": 2,
"tank_id": 7969
}
]
}
}
我想得到以下 output 然后可以通過管道傳輸到@csv 和 output 到 my.csv 文件。
[
1040918564,
166,
441,
1,
9505
]
[
1040918564,
154,
325,
1,
47105
]
[
1040836357,
216,
490,
1,
47105
]
[
1040836357,
114,
254,
2,
7969
]
我的第一步是.data | to_entries[]
.data | to_entries[]
解析如下....
{
"key": "1040918564",
"value": [
{
"statistics": {
"wins": 166,
"battles": 441
},
"mark_of_mastery": 1,
"tank_id": 9505
},
{
"statistics": {
"wins": 154,
"battles": 325
},
"mark_of_mastery": 1,
"tank_id": 47105
}
]
*** snip ***
這就是我卡住的地方。 如何將“key”值包含到“value”數組的每個元素中,以實現我想要的 output。
如果我忽略“key”並在“value”數組上使用“to_entries”,它幾乎可以完成這項工作,但並不完全......
.data | to_entries[] | {id: .key, value} |.value | to_entries [] |.value | [.statistics.wins, .statistics.battles, .mark_of_mastery, .tank_id]
.data | to_entries[] | {id: .key, value} |.value | to_entries [] |.value | [.statistics.wins, .statistics.battles, .mark_of_mastery, .tank_id]
給出....
[
166,
441,
1,
9505
]
[
154,
325,
1,
47105
]
[
216,
490,
1,
47105
]
[
114,
254,
2,
7969
]
這是我所能得到的。
我已經太老了,非常感謝一些幫助。 :)
這是一個非常保守的方法:
.data
| to_entries[]
| [.key]
+ (.value[]
| (.statistics | [.wins, .battles])
+ [.mark_of_mastery, .tank_id])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.