JQ: Выберите несколько условий


116

У меня есть json, и на данный момент я использую select, чтобы получить только данные, соответствующие одному условию, мне нужно фильтровать на основе большего количества условий.

Например:

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

Как я могу это сделать?

Ответы:


260

jq поддерживает обычные логические операторы и / или / нет, поэтому это будет выглядеть так:

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

65
отлично, было бы неплохо, если бы вы тогда приняли ответ!
Hans Z.

2
какая причина для лишних скоб .processedBarsVolume <= 5?
ssc

6
Нет, просто свел разницу с предложением OP к соответствующему минимуму
Hans Z.

похоже, вряд ли когда-нибудь получится любимая галочка на этом этапе
JDS

2
Примечание: символы и / или / not чувствительны к регистру. И / ИЛИ не работают.
Джозеф Ларсон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.