Mule 如何使用Dataweave从2个不同的json消息创建json消息
我想从2条不同的json消息创建一条json消息。两条输入消息都来自流变量。如何使用Dataweave实现这一点 信息1:Mule 如何使用Dataweave从2个不同的json消息创建json消息,mule,anypoint-studio,dataweave,Mule,Anypoint Studio,Dataweave,我想从2条不同的json消息创建一条json消息。两条输入消息都来自流变量。如何使用Dataweave实现这一点 信息1: [ { "userId": 11, "name": "ABC", "age": 30 }, { "userId": 44, "name": "XYZ", "age": 30 } ] 信息2: 预期产出:
[
{
"userId": 11,
"name": "ABC",
"age": 30
},
{
"userId": 44,
"name": "XYZ",
"age": 30
}
]
信息2:
预期产出:
提前谢谢大家,,
Nitesh参考文章。似乎是您用例的完美解决方案。您可以使用查找而不是过滤器,因为使用过滤器是性能开销。 试试这个 其中,有效负载是message1,flowVars.data是message2 附言:我使用了$.userId++作为hashmap的字符串格式的键,有些数字键与weave hashmap不兼容 也指 希望这有帮助
[
{
"userId": 11,
"Address": "BLR"
},
{
"userId": 44,
"Address": "CCU"
}
]
[
{
"userId": 11,
"name": "ABC",
"Address": "BLR"
},
{
"userId": 44,
"name": "XYZ",
"Address": "CCU"
}
]
%dw 1.0
%output application/json
%var adressLookup = {( flowVars.data map {
($.userId ++ "") : $
})}
---
payload map {
userId : $.userId,
name : $.name,
Address : adressLookup[$.userId ++ ""].Address
}