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

JQ操作指南:如何按值而非索引删除JSON数组中的指定元素

JQ删除数组指定元素解决方案

你可以使用以下JQ命令实现删除instances数组中所有值为"three"或"five"的元素:

jq '(.vars.instances) |= map(select(. != "three" and . != "five"))' 你的输入文件.json

命令说明

  • (.vars.instances) |= :准确定位到JSON结构中需要修改的instances数组,|=为更新赋值操作符,处理后的结果会直接覆盖原数组位置的内容
  • map(select(条件)):遍历数组所有元素,仅保留符合筛选条件的元素
  • select(. != "three" and . != "five"):过滤逻辑,排除值为"three"或"five"的元素

输出示例

运行命令后输出结果如下:

{
  "address": "localhost",
  "name": "local",
  "vars": {
    "instances": [
      "one",
      "two",
      "four"
    ]
  }
}

如果你需要直接修改原文件,可配合sponge工具(属于moreutils软件包,需提前安装)使用:

jq '(.vars.instances) |= map(select(. != "three" and . != "five"))' input.json | sponge input.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:06:01