在输出中使用带有数组索引的Jq展平JSON

在输出中使用带有数组索引的Jq展平JSON,json,jq,flatten,Json,Jq,Flatten,我正在尝试基于嵌套json创建单个json输出: { "Id" : "1", "items" : [ {"item_name" : "shirt","value" : 10}, {"item_name" : "dress","value" : 20}, {

我正在尝试基于嵌套json创建单个json输出:

{
    "Id" : "1",
    "items" : [
        {"item_name" : "shirt","value" : 10},
        {"item_name" : "dress","value" : 20},
        {"item_name" : "ice cream","value" : 30}
    ] 
}
我的预期产出是:

[
  {
    "id": "1",
    "item_name": "shirt",
    "value": 10,
    "index_position": 0
  },
  {
    "id": "1",
    "item_name": "dress",
    "value": 20,
    "index_position": 1
  },
  {
    "id": "1",
    "item_name": "ice cream",
    "value": 30,
    "index_position": 2
  }
]
我能够获取的唯一输出是此代码段:

迭代内部数组并同时获取外部对象数据的最佳方法是什么?

Q.E.D.如下所示:

.Id as $Id
| .items
| [ range(0; length) as $index_position
   | {$Id} + .[$index_position] + {$index_position} ]

这里简洁(或至少干练)的关键是jq表达式
{$x}
扩展为
{“x”:$x}