如何在 Apache-NiFi 中使用 JoltTransformJson 将属性添加到现有数组

How to add attribute to existing array using JoltTransformJson in Apache-NiFi

如果输入是这样的:

{
"Vendor":[{"a":"..."},{"b":"..."}]
}

属性是这样的:

{
"Vendor":[{"c":"..."},{"d":"..."}]
}

如何生成此输出:

{
"Vendor":[{"a":"..."},{"b":"..."},{"c":"..."},{"d":"..."}]
}

我认为 joltTransformJson 是最佳选择,但我无法生成所需的输出。

如何使用 AttributesToJson 处理器将属性放入内容,然后使用 MergeContent 处理器合并两个流文件?

如果属性被命名为 json 那么这应该有效:

[
  {
    "operation": "default",
    "spec": {
     // extract vendor array from json attribute and put it in a temporary array
     "tempArray": ${json:jsonPath('$.Vendor')}
    }
  },
  {
    "operation": "shift",
    "spec": {
     "Vendor": "Vendor", // keep Vendor array as is
     "tempArray": { // put temp array elements inside Vendor
        "*": "Vendor"
     },
     "*": "&" // keep all of the other elements of the json 
    }
  }
]

我在评论中提供了解释,不要忘记删除它们,尽管 json 将有效!