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

如何在Bash中使用jq获取JSON中除指定键外的所有键

使用jq过滤JSON键并输出压缩格式

你可以借助jq的数组减法特性实现需求,核心命令如下:

jq -c 'keys - ["key_to_filter"]' input.json

命令说明:

  • -c:强制输出为压缩的单行JSON格式,满足你需要的紧凑形式
  • keys:提取当前JSON对象的所有键,返回一个键数组
  • - ["key_to_filter"]:通过数组减法,从键数组中移除指定的key_to_filter元素

如果你的JSON内容通过管道传入(比如直接从命令行输入),可以这样写:

echo '{"a_key": "A","key_to_filter": "B","c_key": "C"}' | jq -c 'keys - ["key_to_filter"]'

执行后会直接输出目标结果:

["a_key","c_key"]

要是需要排除多个键,只需在数组里添加更多元素即可,例如:

jq -c 'keys - ["key_to_filter", "another_key"]' input.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 10:00:56