如何使用jq遍历未被数组包裹的独立JSON对象
处理独立JSON对象的jq遍历方法
你可以直接用jq的--null-input(简写-n)配合inputs关键字来处理这种多行独立JSON对象,无需修改原始数据格式。
具体命令示例
假设你的数据保存在文件data.json中,执行以下命令即可遍历每个对象:
jq -n 'inputs' data.json
如果要对每个对象做针对性处理,比如提取所有键、过滤特定字段,只需在inputs后添加对应逻辑:
# 提取每个对象的所有键 jq -n 'inputs | keys' data.json
# 输出第一个对象的a字段和第二个对象的c字段 jq -n 'inputs | .a // .c' data.json
原理说明
-n参数让jq不自动读取输入流,而是通过inputs手动读取所有输入的JSON实体,不管它们是否被数组包裹,以此实现逐个处理独立JSON对象的效果。
内容的提问来源于stack exchange,提问作者Nam Nguyen
相关产品推荐
相关产品推荐

