我想获取 JSON 文档中所有可用路径的列表。
这个问题有多种变体,例如“与给定模式匹配的所有路径”或“打印路径加值”。
使用
jq -r 'path(..) | join(".")'
。
例如:
$ echo '{"k1": "v1", "k2": {"k21": "v21"}, "k3": {"k31": {"k311": "v311"}}, "k4": [{"k41": "v41"}, {"k42": "v42"}]}' | jq -r 'path(..) | join(".")'
k1
k2
k2.k21
k3
k3.k31
k3.k31.k311
k4
k4.0
k4.0.k41
k4.1
k4.1.k42
$ jq --version
jq-1.7.1
来源:github中的一条消息。