Apache nifi Jolt-使用一系列键、@(2,@)的替代项获取值

Apache nifi Jolt-使用一系列键、@(2,@)的替代项获取值,apache-nifi,jolt,Apache Nifi,Jolt,我需要创建一个JSON数组,以便使用Nifi将其拆分为多个作业。 该数组需要基于JSON中的现有数组创建 无法理解如何在JSON中动态创建对另一个对象的引用。我希望引用“@(2,@)”起作用,但这不受支持 输入 { “姓名”:“洛基”, “id”:“1234”, “loc”:“Utgard”, “年龄”:“未知”, “清单项目”:[ “姓名”, “id” ] } 规格(不起作用): [ { “操作”:“移位”, “规格”:{ //循环所有列表项 “清单项目”:{ "*": { //获取当前项的

我需要创建一个JSON数组,以便使用Nifi将其拆分为多个作业。 该数组需要基于JSON中的现有数组创建

无法理解如何在JSON中动态创建对另一个对象的引用。我希望引用“@(2,@)”起作用,但这不受支持

输入

{
“姓名”:“洛基”,
“id”:“1234”,
“loc”:“Utgard”,
“年龄”:“未知”,
“清单项目”:[
“姓名”,
“id”
]
}
规格(不起作用):

[
{
“操作”:“移位”,
“规格”:{
//循环所有列表项
“清单项目”:{
"*": {
//获取当前项的值并推送到processlist.type数组
“@”:“进程列表[#2]。键入”,
//问题是,我需要获取当前值/键的“顶级”值
@(2,@):“进程列表[#2]。值”
}
}
}
}
]
预期产出:

{
“进程列表”:[
{
“类型”:“名称”,
“价值”:“洛基”
}, {
“类型”:“id”,
“值”:“1234”
} 
]
}
规格(将运行但不正确)

[
{
“操作”:“移位”,
“规格”:{
//循环所有列表项
“清单项目”:{
"*": {
//获取当前项的值并推送到processlist.type数组
“@”:“进程列表[#2]。键入”,
//问题是,我需要获取当前值/键的顶级值
//将其强制为“name”至少会执行代码
@(2,名称):“进程列表[#2]。值”
}
}
}
}
]

有什么想法吗?

您可以通过添加
“*”
键继续执行另一个步骤,以便在漫游时通过
@(3,&)
动态嵌套当前规范,因为该符号表示产生的键值
名称
id
,例如

[
{
“操作”:“移位”,
“规格”:{
“清单项目”:{
"*": {
"*": {
“@1”:“进程列表[#3]。键入”,
@(3,&):“进程列表[#3]。值”
}
}
}
}
}
]

很好,这很有效!谢谢:)不客气@ThisIsMe,很乐意帮忙