如何使用DataWeave提取JSON对象名称字段中的数字/ID?
DataWeave实现提取name字段中的数字ID需求
输入数据
[ { "name": "TOOL: 5237" }, { "name": "DMP: 213213 RENTAL" }, { "name": "SMG: 23434-A" } ]
预期输出
[ "5237" , "213213" , "23434" ]
实现代码
%dw 2.0 output json indent=2 --- payload map (item) -> item.name match { case name matches /.*:\s*(\d+).*/ -> $[1] }
代码说明
- 用
map遍历输入数组里的每个对象 - 借助正则匹配
name字段,正则/.*:\s*(\d+).*/会精准匹配冒号后(允许带空格)的连续数字序列,并将这部分数字捕获为第一个分组 - 提取捕获组
$[1]的内容,即可得到目标数字ID
内容的提问来源于stack exchange,提问作者Harsha
相关产品推荐
相关产品推荐

