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

Step Functions MapIterator JSONata 单元素返回类型异常问题

AWS Step Functions Map Iterator 单元素返回字符串问题解析

这不是Bug,是JSONata的默认隐式解包特性导致的:当JSONata表达式筛选后的结果只有单个元素时,会自动将数组“解包”为单个值(这里就是字符串);只有当结果包含两个及以上元素时,才会保留数组格式。而Step Functions的Map Iterator要求Items必须是数组类型,所以单元素场景就会触发类型错误。

解决方法:强制返回数组格式

你可以通过两种方式让表达式始终返回数组:

  • 使用$array()函数:显式将结果转为数组,不管元素数量多少
    "{% $array($states.input.object_keys[Size>0].Key) %}"
    
  • 用方括号包裹筛选结果:手动构造数组
    "{% [$states.input.object_keys[Size>0].Key] %}"
    

这两种方式都能确保即使只有一个符合条件的元素,返回的也是数组类型,完美适配Map Iterator的输入要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 12:57:02