需要帮助转换此 JSON 并使用列维度的特定元素作为使用 jq 的 CSV 中的列标题行
输入JSON
your text
{
"Columns": [
{
"Id": "ItemName",
"IsEditable": false
},
{
"Id": "Date",
"IsEditable": false
},
{
"Id": "Qty",
"IsEditable": false
}
],
"Rows": [
{
"Values": [
"ITEM1",
"10-MAY-2024",
"100"
]
},
{
"Values": [
"ITEM2",
"20-MAY-2024",
"200"
]
},
{
"Values": [
"ITEM3",
"30-MAY-2024",
"400"
]
}
],
"QueryHandle": {
"QueryID": "00101",
"Worksheet": {
"Name": "Test20",
"Scope": "NA"
},
"WorkAlloc": "2024-MAY"
},
"RowCount": 3
}
所需的 CSV 格式输出(我只显示下面的数据,忽略 JSON 中的其余元素)。
标题列来自.Columns[]|.Id
ItemName, Date, Qty
"Item1","10-MAY-2024","100"
"Item2","20-MAY-2024","200"
"Item3","20-MAy-2024","400"
尝试关注这篇文章:
但还没能让它发挥作用
您的 JSON 输入实际上已经针对 CSV 输出进行了相当多的优化。
jq -r '[.Columns[].Id], .Rows[].Values | @csv'
"ItemName","Date","Qty"
"ITEM1","10-MAY-2024","100"
"ITEM2","20-MAY-2024","200"
"ITEM3","30-MAY-2024","400"