如何编写DataWeave代码实现将[]替换为{}的格式转换
DataWeave代码:将数组方括号替换为大括号
场景1:输入为字符串格式的数组
如果你的输入是带方括号的字符串(比如"[\"abcd\",\"whyf\",\"thsr\"]"),直接用字符串替换函数即可完成转换:
%dw 2.0 output application/json skipNullOn="everywhere" --- payload replace "[" with "{" replace "]" with "}"
输入示例:
"[\"abcd\",\"whyf\",\"thsr\"]"
输出结果:
"{\"abcd\",\"whyf\",\"thsr\"}"
场景2:输入为实际的数组类型
如果输入是DataWeave的数组(比如["abcd","whyf","thsr"]),需要先将数组元素拼接成逗号分隔的字符串,再包裹大括号:
若需要保留元素的引号(与示例输出一致),使用以下代码:
%dw 2.0 output application/json skipNullOn="everywhere" --- "{" ++ (payload map ("\"" ++ $ ++ "\"") joinBy ",") ++ "}"
输入示例:
["abcd","whyf","thsr"]
输出结果:
"{\"abcd\",\"whyf\",\"thsr\"}"
若不需要保留元素引号,简化拼接逻辑即可:
%dw 2.0 output application/json skipNullOn="everywhere" --- "{" ++ (payload joinBy ",") ++ "}"
内容的提问来源于stack exchange,提问作者Khalil Ansari
相关产品推荐
相关产品推荐

