You need to enable JavaScript to run this app. 如何使用jq从JSON的Results数组中提取指定key生成合法对象数组
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jq从JSON的Results数组中提取指定key生成合法对象数组

jq过滤JSON指定key并输出数组格式解决方案

问题原因

原命令输出独立无逗号分隔对象的核心原因是:使用.[]将Results数组展开为了独立的JSON对象流,jq默认会逐行输出每个流元素,因此不会有外层数组包裹,对象之间也不会自动添加逗号。

修复方案

方案1:基于原有命令修改

只需把对每个数组元素的处理逻辑用方括号[]包裹,即可将处理后的所有对象重新组装为数组输出:

jq '.Results | [.[] | with_entries(select([.key] | inside(["key","key2", "key3"])))]' input.json

方案2:更简洁的写法(推荐)

如果你明确知道需要保留的key名称,无需使用with_entries做过滤,直接用map加对象构造语法即可,可读性更高:

jq '.Results | map({key, key2, key3})' input.json

直接将示例中的key、key2、key3替换为你实际需要提取的key名称即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 21:27:03