[英]In Mule/Dataweave how do I transform a HashMap into a Array when both key & value are numbers
在Mule / Dataweave中,如何将HashMap转换/转换为数组。 我有一个HashMap,其键和值是动态数字。
例:
{"3.2" : 1, "22" : 8, "2.0" : 1}
我想将它转换为这种结构:
[
{
"name": "app-a",
"value1": 3.2,
"value2": 1
},
{
"name": "app-a",
"value1": 22,
"value2": 8
},
{
"name": "app-a",
"value1": 2,
"value2": 1
}
]
解决方案(感谢@Sulthony H)
%dw 1.0
%output application/json
---
payload pluck $$ map {
value1: ($ as :string) as :number,
value2: payload[$]
}
为了将HashMap转换为数组,我将执行以下步骤:
payload pluck $$ map {}
value1: ($ as :string) as :number
value2: payload[$]
另一种解决方案:
%dw 1.0
%output application/json
---
payload map {
($ mapObject {
name: "app-a",
value1: $$ as :string,
value2: $
})
}
1 - 使用map运算符迭代元素列表。 有效载荷图
2 - 在数组$ mapObject的每个元素上使用mapObject。 对于mapObject,$$引用键名,$引用该值
3 - 使用value1:$$打印出值:string,value2:$
更简单......
payload pluck (
{
value1:$$,
value2:$
}
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.