如何使用jq提取所有(也是嵌套的)键名

时间:2017-10-04 12:19:26

标签: json jq

如何使用jq提取所有键名,即使在嵌套对象中也是如此? 例如,我有json:

{ "a": 1, "b": { "c": 2 } }

我希望得到清单: a,b,b.c

我知道对于顶级按键,我可以使用: . | to_entries[] | .key,但嵌套对象中的键呢?

1 个答案:

答案 0 :(得分:4)

jq 解决方案:

jq -r '[paths | join(".")]'  jsonfile

输出:

[
  "a",
  "b",
  "b.c"
]
  • paths函数输出其输入中所有元素的路径

  • join(".") - 连接分层路径中的密钥

相关问题