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

如何使用jq根据值排除含deprecated:true的API方法键?

过滤已弃用API方法的jq命令调整

原始API定义JSON

{
  "paths": {
    "/api/A": {
      "get": {
        "summary": "lorem ipsum",
        "parameters": [
          {
            "name": "Guid",
            "description": "Guid"
          }
        ]
      },
      "put": {
        "summary": "Adds or updates an item",
        "parameters": [
          {
            "name": "lorem ipsum",
            "description": "lorem ipsum"
          }
        ],
        "deprecated": true
      }
    }
  }
}

原始命令的问题

执行命令 jq ".paths | map_values(keys)" json 会返回包含所有方法的列表,包括标记为deprecated: true的put方法:

{
  "/api/A": [
    "get",
    "put"
  ]
}

调整后的jq命令

要只保留未被弃用的API方法,使用以下命令:

jq ".paths | map_values(to_entries | map(select(.value.deprecated != true)) | .[].key)" json

命令逻辑说明

  • to_entries:将每个路径下的方法对象转换为键值对数组,方便后续过滤
  • map(select(.value.deprecated != true)):筛选出deprecated属性不为true的方法条目
  • .[].key:提取筛选后条目的方法名称

执行结果

运行调整后的命令,会得到仅包含未弃用方法的结果:

{
  "/api/A": [
    "get"
  ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:35:26