我正在嘗試轉換此 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
uj5u.com熱心網友回復:
@csv需要一個陣列作為輸入,但.reservationSummary.pickLoc.locationCode只產生一個字串。相反,通過將其包裝成一個陣列[],然后使用 以下方法將兩個陣列相加:
[.reservationSummary.pickLoc.locationCode] (
.vehicleSummaryList[]
| [.carClass, .carGroup, .carAvailability, .payLaterRate.totalRateAmount]
)
| @csv
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/321819.html
