代码之家  ›  专栏  ›  技术社区  ›  hachemon

用jq解析嵌套json键

  •  0
  • hachemon  · 技术社区  · 3 年前

    我对这一点很陌生,我正在尝试使用jq过滤以下嵌套的json键

    `

    {
      "team": {
        "id": "PI6MJXZ",
        "name": "my_team",
        "description": null,
        "type": "team",
        "summary": "my_team",
        "self": "https://someurl.com/my_teams/ID",
        "html_url": "https://someurl.com/my_teams/ID",
        "default_role": "manager",
        "parent": null
      }
    }
    

    `

    但是,当我运行以下jq过滤器时 jq '.team[]' 我得到以下输出:

    `

    "PI6MJXZ"
    "my_team"
    null
    "team"
    "my_team"
    "https://someurl.com/my_teams/ID"
    "https://someurl.com/my_teams/ID"
    "manager"
    null
    

    `

    我知道这是按预期运行的,因为我正在测试它 this jq filter tool

    我的问题是,如何在这个嵌套的json密钥中过滤一个特定的密钥?

    使用上面的示例,我希望只输出以下内容:

    "PI6MJXZ"

    所以它应该走了 team ---> id

    如有任何帮助,请解释如何做到这一点,并提供更高级的嵌套过滤器,我们将不胜感激!

    1 回复  |  直到 3 年前
        1
  •  0
  •   pmf    3 年前

    我的问题是,如何在这个嵌套的json密钥中过滤一个特定的密钥?

    你在努力吗 update |= 一块田地( .team )通过将其设置为自己的字段之一( .id )?

    jq '.team |= .id'
    
    {
      "team": "PI6MJXZ"
    }
    

    Demo

    推荐文章