JQ: Виберіть кілька умов


112

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

Наприклад:

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

Як я можу це зробити?

Відповіді:


252

jq підтримує нормальні булеві оператори та / або / ні, так це виглядатиме так:

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

63
чудово, було б добре, якби ви могли потім прийняти відповідь!
Ганс З.

2
якась причина для додаткових брекетів навколо .processedBarsVolume <= 5?
ssc

6
Ні, просто дотримувався розбіжності з пропозицією ОП до відповідного мінімуму
Ганс З.

Мабуть, навряд чи колись отримає улюблену галочку
JDS

2
Примітка: та / або / не залежать від регістру. І / АБО не працюють.
Джозеф Ларсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.