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

如何使用JMESPath过滤数组中b属性为非空数组的元素?

使用JMESPath过滤空数组元素的解决方案

嘿,这个需求用JMESPath的过滤表达式就能轻松实现,有两种简洁的写法都能达到目的:

方法一:检查数组长度

直接使用以下表达式:

[?length(b) > 0]

逻辑解释:

  • [] 表示遍历输入的整个数组
  • ? 是JMESPath的过滤操作符,用来筛选符合条件的元素
  • length(b) > 0 会检查每个元素中b属性的数组长度是否大于0,只有非空数组的元素会被保留

方法二:利用布尔隐式转换

JMESPath里空数组在布尔判断中会被视为false,非空数组则是true,所以可以用更简洁的表达式:

[?b]

效果验证

把你的输入数组:

[ { "a": "foo", "b": [ 1, 2, 3 ] }, { "a": "bar", "b": [ ] }, { "a": "baz", "b": [ 2 ] } ]

用上面任意一个表达式处理后,都会得到你想要的结果:

[ { "a": "foo", "b": [ 1, 2, 3 ] }, { "a": "baz", "b": [ 2 ] } ]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:57:28