You need to enable JavaScript to run this app. 如何使用jq将多个inlineCard的url拼接为单个逗号分隔字符串
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jq将多个inlineCard的url拼接为单个逗号分隔字符串

错误原因

你现有命令的报错是因为join(",")的调用位置错误。你当前的写法是对每个筛选得到的单个url字符串调用join方法,但join仅支持对数组做拼接操作,因此触发了无法遍历字符串的报错。

解决方法

你需要先将所有符合条件的url收集为一个数组,再对整个数组执行拼接操作,对应命令如下:

echo "$MY_JSON" | jq '[.content[].content[] | select(.type == "inlineCard") | .attrs.url] | join(", ")'

执行上述命令就能直接得到你期望的带双引号的拼接结果。如果你需要输出不带外层双引号的纯字符串,可以给jq添加-r参数:

echo "$MY_JSON" | jq -r '[.content[].content[] | select(.type == "inlineCard") | .attrs.url] | join(", ")'

注:如果确定type的值完全等于inlineCard,用==匹配比contains更稳妥,避免匹配到type值包含该子串的其他无关节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 08:57:01