Jolt 转换合并记录

Jolt tranformation merge records

Jolt 面临一个问题 -

当前输入-

[
  {
    "test1": "A",
    "test2": "X",
    "test3": "Y",
    "test4": "Z"
  },
  {
    "test1": "B",
    "test2": "X",
    "test3": "Y",
    "test4": "Z"
  }
]

所需的输出是

[
  {
    "test1": "A",
    "label": [
      {
        "test2": "X",
        "test3": "Y",
        "test4": "Z"
      }
    ]
  },
  {
    "test1": "B",
    "label": [
      {
        "test2": "X",
        "test3": "Y",
        "test4": "Z"
      }
    ]
  }
]

基本上把三个属性合并到一个下面,剩下的应该在外面

尝试使用以下 Jolt 但无效 -

[
  {
    "operation": "shift",
    "spec": {
      "test1": "&",
      "*": "row.&"
    }
  }
]

test1以外的属性值可以在label[0]前加上[=13=来区分对象]作为前导,以便替换它们元素的索引,例如

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "test1": "&1.&",
        "*": "&1.label[0].&"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": ""
    }
  }
]

站点 http://jolt-demo.appspot.com/ 上的演示是: