打印值,然后将整个 JSON 文档转发到下一个筛选器(如 Tee)的筛选器



是否可以在过滤器中打印文档的某些部分,然后继续向下选择并稍后打印更多内容?

这是我想要的伪代码。

{
"version":"1",
"some":{
"more":{
"depth":"here"
}
}
}
select(.some.more.depth=="here") | tee .version | .some.more.depth

这将输出

"1"
"here"

我知道,在这种情况下,它可以与.version, .some.more.depth一起使用,但在更复杂的情况下,它更多的是关于在打印零件的同时处理文档。

https://jqplay.org/s/n7WjphEVf7

不仅仅是在这种情况下,无论如何。这就是逗号运算符的作用,也是它的用途。它在同一上下文中运行两个表达式,并生成两个表达式的所有输出。请记住,您始终可以使用括号,因此执行以下操作是合法

.a.b.c | (.d, .e.f | (.g, .h))

生产.a.b.c.d.a.b.c.e.f.g.a.b.c.e.f.h

最新更新