JQ:选择多个条件

Posted

技术标签:

【中文标题】JQ:选择多个条件【英文标题】:JQ: Select multiple conditions 【发布时间】:2016-01-08 12:47:30 【问题描述】:

我有一个 json,目前使用 select 仅获取匹配一个条件的数据,我需要根据更多条件进行过滤。

例如:

.[] | select((.processedBarsVolume <= 5) && .processedBars > 0)

我该怎么做?

【问题讨论】:

【参考方案1】:

jq 支持普通的布尔运算符 and/or/not,所以它看起来像:

.[] | select((.processedBarsVolume <= 5) and .processedBars > 0)

【讨论】:

.processedBarsVolume &lt;= 5 周围的额外大括号有什么原因吗? 不,只是将 OPs 建议的差异保持在相关的最小值 目前似乎不太可能得到心爱的复选标记 注意:and/or/not 区分大小写。 AND/OR 不起作用。 丰富的括号在 jq 中是明智的。如果您习惯于命令式语言,则运算符优先级有点不直观,并且在其他出色的手册中记录得很少。

以上是关于JQ:选择多个条件的主要内容,如果未能解决你的问题,请参考以下文章

jq选择器选择多个class下的input

jQ学习之基础选择器的测试

jq选择器

jq基础

jQ常用选择器

选择具有多个条件的多个列