Я хочу извлечь данные из файла JSON и записать их в файл CSV, используя jq .
Это образец моих данных:
[
{
"media": {
"track": [
{
"attype": "General",
"FileExtension": "MP4",
"Format": "MPEG-4"
},
{
"attype": "Video",
"Format": "MPEG Video"
}
]
}
},
{
"media": {
"track": [
{
"attype": "General",
"FileExtension": "ts",
"Format": "MPEG-TS"
},
{
"attype": "Video",
"Format": "MPEG Video"
}
]
}
}
]
Это желаемый результат:
"MP4","MPEG-4","MPEG Video"
"ts","MPEG-TS","MPEG Video"
Это мой jq код:
.[].media.track[] |
[
(select(.attype =="General") | .FileExtension, .Format),
(select(.attype =="Video") | .Format)
] | @csv
Это фактический результат:
"MP4","MPEG-4"
"MPEG Video"
"ts","MPEG-TS"
"MPEG Video"
Я экспериментировал с фильтром flatten
и с различным использованием квадратных скобок []
для построения массива, но безрезультатно. Как я могу достичь желаемого результата с jq ?