Хорошо, это довольно простой 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
}
]
}
}
Я хотел бы получить следующий вывод, который затем можно передать по конвейеру @ csv и вывод в мой файл .csv ....
[
1040918564,
166,
441,
1,
9505
]
[
1040918564,
154,
325,
1,
47105
]
[
1040836357,
216,
490,
1,
47105
]
[
1040836357,
114,
254,
2,
7969
]
Мой первый шаг - .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» для достижения желаемого результата.
Если я проигнорирую «key» и использую to_entries в массиве «value», это почти выполняет свою работу, но не совсем ...
.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
]
что настолько близко, насколько я смог получить.
Я старею для этого и буду очень признателен за помощь. :)