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

使用jq排除指定分组(如group_3)并按指定格式输出数据的方法

jq处理JSON提取指定数据解决方案

你可以直接使用以下jq命令完成需求:

jq -r '.groups | to_entries[] | select(.key != "group_3") | .key as $group | .value | to_entries[] | "name: \(.key), group: \($group), field_A_value: \(.value | to_entries[0].value), field_B_value: \(.value | to_entries[1].value)"' 你的输入文件路径

命令逻辑说明

  • 首先.groups定位到JSON根节点下的groups对象
  • to_entries[]将groups对象转换为键值对数组并展开,每个元素包含组名(key)和组内数据(value)
  • select(.key != "group_3")过滤掉不需要的group_3分组
  • .key as $group将当前保留的组名存入变量,供后续输出使用
  • 再次对组内的name_x对象执行to_entries[],展开每个name的键值对
  • 最后通过字符串插值按要求格式化输出,-r参数确保输出原始无引号的纯文本

如果需要排除多个分组,可以修改select条件,比如排除group_3和group_4就写成select(.key | IN("group_3", "group_4") | not)即可。
如果name_x对象下需要提取的字段是固定名称,也可以把to_entries[0].value替换为具体的字段名,比如.value.field_111,匹配效率更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:27:07