【发布时间】:2019-03-17 19:54:07
【问题描述】:
我的要求是为 json 消息中生成的每个新行生成一个行号。输入消息在数组中有数组,即父数组和子数组。
输入消息
[
{
id:"1",
Details:[
{
Name:"RAM",
LastName:"Manohar",
DOB:"20-10-1990",
Report:[
{
DateOfJoin:"03-03-2019",
Dept:"HR",
BillCode:"acx-12s",
EffectiveDate:"03-03-2019"
},
{
DateOfJoin:"03-04-2019",
Dept:"HR",
BillCode:"abc-12s",
EffectiveDate:"03-04-2019"
},
{
Name:"Alex",
LastName:"Ham",
DOB:"20-11-1980",
Report:[
{
DateOfJoin:"03-03-2019",
Dept:"HR",
BillCode:"acx-12s",
EffectiveDate:"03-03-2019"
},
{
DateOfJoin:"03-04-2019",
Dept:"HR",
BillCode:"abc-12s",
EffectiveDate:"03-04-2019"
}
]
}
]
},
{
id:"2",
Details:[
{
Name:"Kiran",
LastName:"Kurella",
DOB:"20-10-1980",
Report:[
{
DateOfJoin:"03-03-2019",
Dept:"DC",
BillCode:"acx-12s",
EffectiveDate:"03-03-2019"
},
{
DateOfJoin:"03-04-2019",
Dept:"DC",
BillCode:"abc-12s",
EffectiveDate:"03-04-2019"
},
{
Name:"Sunil",
LastName:"Kumar",
DOB:"20-11-1980",
Report:[
{
DateOfJoin:"03-01-2019",
Dept:"DC",
BillCode:"acx-12s",
EffectiveDate:"03-03-2019"
},
{
DateOfJoin:"03-04-2019",
Dept:"DC",
BillCode:"abc-12s",
EffectiveDate:"03-04-2019"
}
]
}
]
}
]
}
]
}
]
预期输出:
[{LineNumber:1,
Dept:"HR",
Name: "Ram"},
{LineNumber:2,
Dept:"HR",
Name: "Alex"},
{LineNumber:3,
Dept:"HR",
Name: "Kiran"},
{LineNumber:4,
Dept:"HR",
Name: "Sunil"}]
Linenumber 需要按顺序生成,与父数组或子数组无关。对此的任何帮助将不胜感激。我有逻辑,我可以使用 java 函数生成数字,但在这种情况下,我需要在数据编织中设置变量值(流变量),它可以在 java 函数中用于递归调用。
【问题讨论】:
-
不清楚您的输入与输出的关系。您能否提供更多将您的输入数据与输出数据相关联的细节?
-
另外,如果您已经拥有在 Java 中工作的逻辑,那么在这里也提供它会有所帮助。
-
@jerney 我基本上是想生成行号。
-
Vishal 的回答应该会有所帮助。只要确保您使用
$$ + 1,因为$$是零索引的。
标签: mule mule-studio dataweave mulesoft