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

如何使用jq按实际值删除JSON数组中的指定元素

jq按元素值删除数组项的方法

你可以使用以下两种不需要指定索引的方案实现按值删除"bear"元素:

方案1:过滤重赋值(推荐)

通过遍历数组筛选保留非目标值的元素,直接更新原数组:

jq '.animals |= map(select(. != "bear"))' animals.json

说明:|=为jq的更新赋值运算符,map()会遍历animals数组的每一项,select()会保留所有值不等于"bear"的元素,自动过滤掉目标项,即便数组里有多个重复的"bear"也会一次性全部删除。

方案2:直接删除匹配项

用del直接匹配并删除值为"bear"的元素:

jq 'del(.animals[] | select(. == "bear"))' animals.json

说明:先展开animals数组的所有元素,筛选出值等于"bear"的项后传入del删除,效果和方案1一致。

执行两种命令后都会得到如下结果:

{
  "animals": [
    "wolf",
    "cat",
    "lion",
    "snake",
    "tortise",
    "squirrel"
  ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:54:02