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

使用JQ报错Cannot index array with string 'taskDefinitionArn'求助

问题排查与解决

报错原因

jq: error (at :139): Cannot index array with string "taskDefinitionArn" 这个错误的核心原因是:你的JQ命令默认map遍历的所有元素都是JSON对象,但当前输入的JSON数组中存在至少一个元素是数组类型。当JQ尝试对数组元素执行.taskDefinitionArn(用字符串键名索引)时,自然会触发索引不匹配的错误。

直白点说:之前的输入是纯对象数组,现在输入数组里混进了数组元素,导致del操作无法在数组上执行键名索引。

解决方案

根据你的需求,提供两种可行处理方式:

方式1:仅处理对象元素,保留其他类型元素

如果需要保留输入中的非对象元素(比如数组),只对对象元素执行删除操作,修改后的命令如下:

map(if type == "object" then del(.taskDefinitionArn, .revision, .status, .requiresAttributes, .compatibilities) else . end)

方式2:过滤非对象元素,仅保留处理后的对象

如果不需要保留非对象元素,可以先过滤出对象类型的元素再执行删除:

map(select(type == "object") | del(.taskDefinitionArn, .revision, .status, .requiresAttributes, .compatibilities))

额外建议

如果原本输入应该是纯对象数组,建议检查输入JSON的第139行附近(报错提示的位置),确认是否存在意外的数组元素,排查数据来源的结构变化问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 11:45:36