假设我有一个多级json,如下所示:
{
"array": [
1,
2,
3
],
"boolean": true,
"color": "gold",
"null": null,
"number": 123,
"object": {
"a": "b",
"c": "d"
},
"string": "Hello World"
}
jq可以返回相同的json,但与字段,我选择在多个级别?
。
{
"object": {
"a": "b",
},
"string": "Hello World"
}
这里,我在顶层选择了string
字段,在object
字段中选择了a
字段。
编辑:在实践中,我想选择的每个级别上都有多个字段,级别为>4.
是有可能的。我曾经写过一个函数,并张贴在这里。你可以这样使用:
def pick(paths):
. as $in
| reduce path(paths) as $path (null;
setpath($path; $in | getpath($path))
);
pick(.object.a, .string)
<<p><一口>在线演示/一口>一口>