如何使用jq程序获取JSON文件的顶级键名 无需显式指定键名称
提取JSON顶级键名的实现方法
jq 方案(适配你当前使用jq处理的场景)
直接使用jq内置的键获取函数即可实现需求,你要的一行命令如下:
# 如果要保留JSON中键的原始写入顺序,使用这个命令 jq -r 'keys_unsorted[0:2] | join(" ")' test.json # 如果可以接受键按字典序排序输出,可以简化为 jq -r 'keys[0:2] | join(" ")' test.json
命令说明:
-r参数:输出原始纯文本,不会自动给字符串添加引号keys_unsorted:获取JSON对象的所有顶级键,保留JSON文件中原本的键顺序keys:获取JSON对象的所有顶级键,返回结果会按字典序重新排序[0:2]:数组切片,取前2个键,你可以根据需求修改数字调整取的键数量join(" "):把数组的多个键用空格拼接成单个字符串输出
执行上述命令后,输出结果正好是你需要的 BI_Arch Data_Engineers。
备选Python方案(无jq环境时使用)
如果你的运行环境没有安装jq,也可以用Python一行命令实现相同效果:
python3 -c "import json;k=list(json.load(open('test.json')).keys())[:2];print(' '.join(k))"
内容的提问来源于stack exchange,提问作者Juan.
相关产品推荐
相关产品推荐

