json - jolt:如何将公共值提取到键

json - jolt : How to extract common value to key

我正在尝试使用 JOLT(使用 NiFi JoltTransformJson 处理器)将 JSON 转换为不同的格式。

输入Json

[
  {
    "date": "202001010000",
    "name": "test1",
    "val": "1",
    "status": "0"
  },
  {
    "date": "202001010000",
    "name": "test2",
    "val": "2",
    "status": "0"
  },
  {
    "date": "202001010001",
    "name": "test1",
    "val": "3",
    "status": "0"
  },
  {
    "date": "202001010001",
    "name": "test2",
    "val": "4",
    "status": "0"
  }
]

我想输出类似

{
  "202001010000" : [ {
    "name" : "test1",
    "val" : "1",
    "status" : "0"
  }, {
    "name" : "test2",
    "val" : "2",
    "status" : "0"
  }
  ],
  "202001010001" : [ {
    "name" : "test1",
    "val" : "3",
    "status" : "0"
  }, {
    "name" : "test2",
    "val" : "4",
    "status" : "0"
  }
  ]
}

我正在尝试使用 Jolt Transform 转换 JSON 格式,但它不能。

  1. 将日期节点值作为数组中每个对象的键。
  2. 从对象中删除日期节点。

规格:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "date": {
          "@1": "@(2,date)"
        }
      }
    }
  },
  {
    "operation": "remove",
    "spec": {
      "*": {
        "*": {
          "date": ""
        }
      }
    }
  }
]