如何使用DataWeave将config.yaml中的字符串转换为JSON对象
用DataWeave将配置字符串转换为JSON对象
核心实现代码
假设从config.yaml读取的输入字符串为"ABC:123,DEF:456,GHI:789",可以通过以下DataWeave脚本完成转换:
%dw 2.0 output application/json // 替换为实际从config.yaml读取的变量,比如 vars.config.inputString var inputString = "\"ABC:123,DEF:456,GHI:789\"" --- // 去除首尾引号 → 按逗号分割 → 拆分键值对 → 转换为对象 inputString replace "\"" with "" splitBy "," map ($ splitBy ":") fromPairs
代码分步解释
replace "\"" with "":移除输入字符串首尾的双引号(如果配置中字符串带引号的话)splitBy ",":将字符串按逗号分割为单个键值对的数组,结果为["ABC:123", "DEF:456", "GHI:789"]map ($ splitBy ":"):遍历数组,把每个键值对按冒号拆分为二维数组,结果为[["ABC","123"], ["DEF","456"], ["GHI","789"]]fromPairs:DataWeave内置函数,直接将二维键值数组转换为JSON对象
直接读取config.yaml的场景
如果config.yaml中的配置项为:
appSettings: "ABC:123,DEF:456,GHI:789"
则脚本可以简化为:
%dw 2.0 output application/json --- vars.config.appSettings replace "\"" with "" splitBy "," map ($ splitBy ":") fromPairs
内容的提问来源于stack exchange,提问作者Mule-Newbie
相关产品推荐
相关产品推荐

