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

Step Functions中基于多类型值过滤数组的JSONPath表达式问题

Step Functions中兼容多类型的JSONPath过滤表达式

问题原因

Step Functions的JSONPath实现对类型一致性校验更严格,当value字段包含整数、数组等非字符串类型时,直接与字符串"NOT_PROVIDED"做相等/不等比较会触发「不同数据类型间无效比较」错误。

可用的JSONPath表达式

$.Context.fragments[*][?(!(type(@.value) == "STRING" && @.value == "NOT_PROVIDED"))]

表达式逻辑

  • 先通过type(@.value) == "STRING"判断value是否为字符串类型
  • 仅当value是字符串且等于"NOT_PROVIDED"时,才将该条目标记为需要过滤
  • 外层的!()取反,最终保留所有非字符串类型的value,以及字符串类型但不等于"NOT_PROVIDED"的条目

这种写法避免了跨类型比较,能在Step Functions的Pass状态中正常执行过滤逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 09:39:52