生成 CSV 配对字段和多个数组元素
Generate CSV pairing a field and multiple array elements
示例输入:
{
"firstName": "Jam",
"Product": [
{
"productId": "5e09ad38986b7c30f339c5c0"
},
{
"productId": "5e09407b986b7c30f339c18e"
},
{
"productId": "5e094c2a986b7c30f339c1d2"
}
]
}
预期输出:
Jam,5e09ad38986b7c30f339c5c0
Jam,5e09407b986b7c30f339c18e
Jam,5e094c2a986b7c30f339c1d2
当前命令正在生成输出,但在同一行以逗号分隔:
jq -rc '.firstName,.Product[0] .productId'
要生成 CSV 格式的报告,您需要将列值放入数组并将其传递给 @csv
过滤器。
$ jq -r '[.firstName] + (.Product[] | [.productId]) | @csv' file
"Jam","5e09ad38986b7c30f339c5c0"
"Jam","5e09407b986b7c30f339c18e"
"Jam","5e094c2a986b7c30f339c1d2"
示例输入:
{
"firstName": "Jam",
"Product": [
{
"productId": "5e09ad38986b7c30f339c5c0"
},
{
"productId": "5e09407b986b7c30f339c18e"
},
{
"productId": "5e094c2a986b7c30f339c1d2"
}
]
}
预期输出:
Jam,5e09ad38986b7c30f339c5c0
Jam,5e09407b986b7c30f339c18e
Jam,5e094c2a986b7c30f339c1d2
当前命令正在生成输出,但在同一行以逗号分隔:
jq -rc '.firstName,.Product[0] .productId'
要生成 CSV 格式的报告,您需要将列值放入数组并将其传递给 @csv
过滤器。
$ jq -r '[.firstName] + (.Product[] | [.productId]) | @csv' file
"Jam","5e09ad38986b7c30f339c5c0"
"Jam","5e09407b986b7c30f339c18e"
"Jam","5e094c2a986b7c30f339c1d2"