Jolt 变换:从对象中提取嵌套数组

Jolt transform: extract nested array from an object

我有JSON输入如下

{
  "data": [
    {
      "items": [
        {
          "item": "R11",
          "code": "8611A"
        },
        {
          "item": "R2",
          "code": "8611B"
        }
      ]
    }
  ]
}

我需要提取项目数组如下

[
  {
    "item": "R11",
    "code": "8611A"
  },
  {
    "item": "R2",
    "code": "8611B"
  }
]

请复制并粘贴以上输入和输出https://jolt-demo.appspot.com/#inception 我测试了 [{"operation":"shift","spec":{"data":{"*":""}}}] 但它 returns {"items" : [ {...}, {...} ] }

您可以使用如下所示的 shift 转换

[
  {
    "operation": "shift",
    "spec": {
      "*": { //might be replaced with "data"
        "*": {
          "*": //might be replaced with "items"
          { 
            "@": "" 
          }
        }
      }
    }
  }
]

其中星号通配符分别代表数组 data、其索引和数组 items"@":"" 表示为没有键的对象数组。

备选规范:

[
  {
    "operation": "shift",
    "spec": {
      "data": {
        "*": {
          "items": ""
        }
      }
    }
  }
]

答案在这里

[{
  "operation": "shift",
  "spec": {
    "data": {
      "0": {
        "*": ""
      }
    }
  }
}]