我在 Mule 中处理一个相当棘手的数据集,需要使用 DataWeave 对数组中返回的许多记录进行一些数学运算。我正在处理的数组如下所示:
[
{
"id": "1",
"type": "AAA",
"metadata": {
"balance": "500"
}
},
{
"id": "2",
"type": "BBB",
"metadata": {
"total": "200"
}
},
{
"id": "3",
"type": "AAA",
"metadata": {
"balance": "-100"
}
}
]
我试图达到的结果如下所示:
{
"X": 200, //sum (all metadata/balance where type=AAA) - (all metadata/total where type=BBB) ** in this case, (500 + -100)-(200)=400
"Y": 500, //sum all +ve metadata/balance where type=AAA
"Z": 300 //sum (all metadata/total where type=BBB) + (all -ve metadata/balance where type=AAA * -1) ** in this case, (200)+(-100 * -1)=300
}
我已经浏览了尽可能多的文档,并且正在努力寻找答案。更尴尬的是,我需要求和的值string
在入站消息中以格式呈现,并且需要在integer
出站消息中以格式呈现。
任何指导将不胜感激。