如何在 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 将有效!
如果输入是这样的:
{
"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 将有效!