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

如何使用jq提取JSON对象中的随机字符串名称并忽略子组件?

使用jq提取JSON指定层级的随机字符串键名

问题说明

现有结构如下的data.json文件:

{
    "JSON_KEY": {
        "SOME_TITLE": {
            "RANDOM_STRING1": {
                "label": "value",
                "units": {
                    "subunits": [
                        {"item1": "1", "item2": "2"},
                        {"item3": "3", "item4":"4"}
                    ]
                }
            }
            // 包含成百上千个类似RANDOM_STRING1的随机字符串键
        }
    }
}

该文件仅含一个JSON根键,需要提取SOME_TITLE下所有随机字符串键名(如示例中的RANDOM_STRING1),忽略键下的对象与列表,要求每个键名单独一行输出。

实现命令

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

jq -r '.[] | .[] | keys[]' data.json

命令解释

  • .[]:获取根键(JSON_KEY)对应的对象值
  • .[]:获取该对象下SOME_TITLE对应的对象值
  • keys[]:提取此对象下的所有键名,逐个输出为单独行

如果需要固定层级路径、避免结构变动影响,也可以使用明确路径的写法:

jq -r '.JSON_KEY.SOME_TITLE | keys[]' data.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 20:40:57