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

如何使用jq列出深度嵌套JSON中的所有键?

  •  2
  • SaiKiran  · 技术社区  · 7 年前

    所以我想在嵌套的JSON中找到所有键。

    nsadmin@machine:~/$ jq 'keys' 474.json
    [
      "x",
      "y",
      "t",
      "report"
    ]
    

    IAM得到的是顶级的键,但是我的报表键有一个多级嵌套的值,所以有没有任何方法可以使用jq来打印这个嵌套JSON中的所有键?

    1 回复  |  直到 7 年前
        1
  •  2
  •   peak    7 年前

    使用筛选器获取输入中所有元素的所有路径,并使用 join

    paths | map(tostring) | join(".")
    

    paths 将路径输出到其输入中的所有元素(但不输出表示的空列表除外)。自身)。