如何使用jq提取所有键名,即使在嵌套对象中也是如此? 例如,我有json:
{
"a": 1,
"b": {
"c": 2
}
}
我希望得到清单: a,b,b.c
我知道对于顶级按键,我可以使用:
. | to_entries[] | .key
,但嵌套对象中的键呢?
答案 0 :(得分:4)
短 jq 解决方案:
jq -r '[paths | join(".")]' jsonfile
输出:
[
"a",
"b",
"b.c"
]
paths
函数输出其输入中所有元素的路径
join(".")
- 连接分层路径中的密钥