Mulesoft Dataweave将mapObject的键转换为小写
假设下面的json带有大写的KEY1和KEY2。键1和键2需要转换为小写Mulesoft Dataweave将mapObject的键转换为小写,mule,mule-studio,dataweave,Mule,Mule Studio,Dataweave,假设下面的json带有大写的KEY1和KEY2。键1和键2需要转换为小写 { "KEY1": { "subkey1": "subval1", "subkey2": "subval2" }, "KEY2": { "subkey1": "subval1", "subkey2": "subval2" } } 需要使用data weave将其转换为以下json { "key1": {
{
"KEY1": {
"subkey1": "subval1",
"subkey2": "subval2"
},
"KEY2": {
"subkey1": "subval1",
"subkey2": "subval2"
}
}
需要使用data weave将其转换为以下json
{
"key1": {
"subkey1": "subval1",
"subkey2": "subval2"
},
"key2": {
"subkey1": "subval1",
"subkey2": "subval2"
}
}
我尝试了以下DW语法,但没有成功
result : payload mapObject (
lower '$$':$
)
如果将表达式括在括号中,则尝试的DW应该可以工作。这可确保首先对每个键应用
lower
运算符,然后在地图中使用该值。以你为例:
%dw 1.0
%output application/json
---
{
result : payload mapObject (
(lower '$$') : $
)
}
有趣的是,我在使用此DW语法的转换消息中得到了一个错误(输入不匹配“:“期望”)”
),但我能够运行该项目,而无需Anypoint Studio的投诉,并且DW运行良好。它在MEL中也适用于以下情况:
#[dw("{result : payload mapObject ( (lower '$$' ) : $)}", 'application/json')]
希望有帮助 您可以使用以下方法解决此问题
%dw 2.0
output application/json
---
{ result: payload mapObject (
(lower ('$$')): $
)
}
此外,如果需要小写a值,则其如下所示:
%dw 1.0
%output application/json
---
{
result : payload mapObject (
(lower $$) : (lower $)
)
}
谢谢你提供这个。这很有魅力。甚至我在DW中也会犯这个错误。但在运行时,它工作得很好