阵列输入的 NiFi Jolt 规范

NiFi Jolt Specification for array input

我在 Nifi Jolt 规范处理器中有以下输入:

[
  {
    "values": [
      {
        "id": "paramA",
        "value": 1
      }
    ]
  },
  {
    "values": [
      {
        "id": "paramB",
        "value": 3
      }
    ]
  }
]

预期输出:

[
  {
    "id": "paramA",
    "value": 1
  },
  {
    "id": "paramB",
    "value": 2
  }
]

你能解释一下我该怎么做吗?

提前致谢

您想访问 values 数组的对象,这些对象嵌套在单独的对象符号 ({}) 中。需要一个 "*" 表示法以便每个单独的 values 数组交叉它们,然后在选择 "" 作为对应项时对这些数组的索引使用另一个 "*" 表示法值,以便只抓取子对象,例如

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "values": {
          "*": ""
        }
      }
    }
  }
]