mule 4 DataWeave 2.0 交换来自 json 有效载荷的对象、键和值
mule 4 DataWeave2.0 swaping object,key and values from json payload
我在尝试更改有效负载中的数据并将其转换为另一个 api 时遇到问题,这需要具有相同值的不同类型的输入
输入负载
{"metadata":
{"attributes":
[
{
"name":"FromDate",
"value":"22-09-2021"
},
{
"name":"ToDate",
"value":"22-02-2022"
}
{
"name":"Purchased",
"value":"21-02-2021"
}
]
}
}
预期输出负载
{"attributes":
{
"FromDate":"22-09-2021",
"ToDate":"22-02-2022",
"Purchased":"21-02-2021"
}
}
我尝试了下面的代码来转换数据,但无法实现结果
%dw 2.0
output application/json
---
{
"attributes": payload."metadata"."attributes" map ((item, index) -> {(item."name"):item."value"})
}
欢迎提出任何建议和答案
%dw 2.0
output application/json
---
attributes:
payload.metadata.attributes reduce (
(item,accum={}) ->
accum ++ { (item.name): (item.value)}
)
我建议转到 https://dwlang.fun 并使用右上角的“教程”选项卡。它涵盖了常见的场景,并具体涵盖了 map
、mapObject
和 reduce
.
等内容
你也可以做一些纯粹使用地图的事情。
%dw 2.0
output application/json
---
attributes: {(payload.metadata.attributes map {
($.name): ($.value)
})}
我在尝试更改有效负载中的数据并将其转换为另一个 api 时遇到问题,这需要具有相同值的不同类型的输入
输入负载
{"metadata":
{"attributes":
[
{
"name":"FromDate",
"value":"22-09-2021"
},
{
"name":"ToDate",
"value":"22-02-2022"
}
{
"name":"Purchased",
"value":"21-02-2021"
}
]
}
}
预期输出负载
{"attributes":
{
"FromDate":"22-09-2021",
"ToDate":"22-02-2022",
"Purchased":"21-02-2021"
}
}
我尝试了下面的代码来转换数据,但无法实现结果
%dw 2.0
output application/json
---
{
"attributes": payload."metadata"."attributes" map ((item, index) -> {(item."name"):item."value"})
}
欢迎提出任何建议和答案
%dw 2.0
output application/json
---
attributes:
payload.metadata.attributes reduce (
(item,accum={}) ->
accum ++ { (item.name): (item.value)}
)
我建议转到 https://dwlang.fun 并使用右上角的“教程”选项卡。它涵盖了常见的场景,并具体涵盖了 map
、mapObject
和 reduce
.
你也可以做一些纯粹使用地图的事情。
%dw 2.0
output application/json
---
attributes: {(payload.metadata.attributes map {
($.name): ($.value)
})}