我正在尝试解析API调用中的json输出。输出有一个订单数组,每个订单都有一个项目数组。我想对输出进行解析,以便每个项目的单个CSV输出及其父订单ID。
因此,如果单个订单包含多个商品,则需要按其订单中的每个商品重复输入orderID。我已经阅读了jq文档和许多示例,并且尝试了数小时的反复试验。我对如何做到这一点感到困惑。
我在jq解析语法方面非常挣扎。这些示例都没有真正的帮助,我只是感到困惑。这是基础知识:
curl -s https://api.site.com/orders?page=1&pageSize=10 | jq '.'
下面是json的示例。
{
"orders": [
{
"orderId": 217356098,"items": [
{
"orderItemId": 327010821,"lineItemKey": "1","sku": "AJC-C10S","name": "TestDescription","imageUrl": null,"weight": null,"quantity": 2,"unitPrice": 106.85,"taxAmount": null,"shippingAmount": null,"warehouseLocation": null,"options": [],"productId": null,"fulfillmentSku": null,"adjustment": false,"upc": null,"createDate": "2016-11-09T02:11:28.307","modifyDate": "2016-11-09T02:11:28.307"
},{
"orderItemId": 327010822,"sku": "AJC-C106","name": "AnotherTestDescription","modifyDate": "2016-11-09T02:11:28.307"
}
]
},],"total": 359934,"page": 1,"pages": 179968
}
预期的输出(当然没有列标题)
orderId,orderItemId,sku,name
217356098,327010821,"JC-C10S","TestDescription"
217356098,327010822,"JC-C106","AnotherTestDescription"
如您所见,每个项目都有自己的行,但是如果它们来自相同的订单,则应该在每行上重复orderId。
我该怎么做?