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

MuleSoft新手求助:如何用DataWeave过滤JSON对象的null值?

解决DataWeave过滤JSON对象中非null值的问题

嘿,刚入门MuleSoft和DataWeave的时候我也碰到过类似需求,其实用DataWeave的内置函数就能轻松搞定!

核心思路是用filterObject函数遍历输入JSON的所有键值对,只保留值不为null的条目。下面是具体的实现代码:

%dw 2.0
output application/json
---
payload filterObject ((value, key) -> value != null)

代码说明:

  • %dw 2.0:声明使用DataWeave 2.0版本(Mule 4及以上版本的默认版本)
  • output application/json:指定输出格式为JSON
  • payload:指代你输入的原始JSON对象(就是示例里包含null值的那个对象)
  • filterObject:这个函数会逐个检查对象的键值对,lambda表达式((value, key) -> value != null)定义了过滤规则——只有当值不等于null时,对应的键值对才会被保留到最终结果里

测试验证:

输入JSON:

{ 
  "str1": "String 1", 
  "str2": "String 2", 
  "str3": null, 
  "str4": "String 4" 
}

运行上述代码后,输出就是你期望的结果:

{ 
  "str1": "String 1", 
  "str2": "String 2", 
  "str4": "String 4" 
}

如果之后你需要过滤其他空值类型(比如空字符串、空数组),只需要修改过滤条件就行,比如value != null and value != ""就能同时排除null和空字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 16:17:30