You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MuleSoft中将指定JSON数组值转换为数字类型

如何用DataWeave将JSON中itemType为downloadSpeed的value转为数字类型

你需要保留原JSON的完整结构,仅将items数组中itemType为downloadSpeed的value字段从带单位的字符串转为纯数字类型,以下是实现方案:

完整DataWeave代码

%dw 2.0
output application/json
---
payload update {
    case items at .items -> items map (item) -> 
        if (item.itemType == "downloadSpeed") 
            item update {
                case v at .value -> (v splitBy " ")[0] as Number
            }
        else 
            item
}

代码说明

  1. 保留原结构:使用update操作符精准修改payload中的items字段,不会改动itemType、id等其他原有字段
  2. 遍历处理数组元素:通过map遍历items数组的每一项
  3. 条件判断与类型转换:
    • 当item.itemType等于downloadSpeed时,将value字符串按空格分割,提取出数字部分后转为Number类型
    • 其他类型的item直接保留原有结构和值

输出结果

运行上述代码后,输出将完全匹配你的期望结果:

{
  "itemType": "DD-Offer",
  "id": "DD-1",
  "items": [
    {
      "itemType": "downloadSpeed",
      "value": 1000
    },
    {
      "itemType": "uploadSpeed",
      "value": "3 mpbs"
    },
    {
      "itemType": "downloadSpeed",
      "value": 500
    }
  ]
}

内容的提问来源于stack exchange,提问作者Krish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 18:25:25