【发布时间】:2021-10-12 04:07:50
【问题描述】:
我正在尝试转换此 JSON:
{
"reservationSummary": {
"pickLoc": {
"locationCode": "EWR"
}
},
"vehicleSummaryList": [
{
"carGroup": "Economy",
"carClass": "A",
"payNowRate": {
"amount": "2327.49",
"totalRateAmount": "3387.19"
},
"payLaterRate": {
"amount": "2449.99",
"totalRateAmount": "3540.79"
} },
{
"carGroup": "Compact",
"carClass": "B",
"payNowRate": {
"amount": "2327.49",
"totalRateAmount": "3387.19"
},
"payLaterRate": {
"amount": "2449.99",
"totalRateAmount": "3540.79"
} }
]
}
转换成如下所示的 csv:
EWR,A,Economy,A,3540.79
EWR,B,Compact,A,3540.79
注意:我将EWR(从.reservationSummary.pickLoc.locationCode添加到每行的第一列。
我已经成功地获得了没有它的 csv,如下所示:
jq -r '(.vehicleSummaryList[] | [.carClass, .carGroup, .carAvailability, .payLaterRate.totalRateAmount])|@csv' examle.json
但是像这样添加.reservationSummary.pickLoc.locationCode 的任何尝试:
jq -r '.reservationSummary.pickLoc.locationCode, (.vehicleSummaryList[] | [.carClass, .carGroup, .carAvailability, .payLaterRate.totalRateAmount])|@csv' examle.json
得到这样的错误:
jq: error (at examle.json:51): string ("EWR") cannot be csv-formatted, only array
【问题讨论】: