【发布时间】:2021-11-19 18:27:03
【问题描述】:
我正在尝试获取 JSON 文档中所有可能路径的数组。
给定文件:
{
"a": "bar",
"b": [
{"c": 3}, {"d": 6},
{"c": 7}, {"d": 5}
]
}
我希望输出为: ["","a","b","b/0","b/0/c","b/1","b/1/d","b/2","b/2 /c","b/3","b/3/d"]
我已经很接近了,这是 JQ Playground 上的 snippet。
【问题讨论】:
-
只需将表达式括在方括号中。由于您的
tostring是不必要的,因此您最终会得到[path(..)|[.[]]|join("/")] -
@peak 为什么使用
.. | [.[]] | ..而不仅仅是[path(..) | join("/")]? -
@pmf - 我只是在回答“标题”中的问题。 “你最终得到”的隐含补充是“从你的方法开始”。
标签: jq