JQ: Wybierz wiele warunków


116

Mam plik json iw tej chwili używam select, aby uzyskać tylko dane spełniające jeden warunek, muszę filtrować na podstawie większej liczby warunków.

Na przykład:

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

Jak mogę to zrobić?

Odpowiedzi:


260

jq obsługuje zwykłe operatory logiczne i / lub / nie, więc wyglądałoby to następująco:

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

65
świetnie, byłoby miło, gdybyś wtedy mógł przyjąć odpowiedź!
Hans Z.

2
jakiś powód dla dodatkowych szelek .processedBarsVolume <= 5?
ssc

6
Nie, po prostu utrzymałem różnicę z sugestią PO na odpowiednim minimum
Hans Z.

wydaje się mało prawdopodobne, aby kiedykolwiek dostał ukochany znacznik wyboru w tym momencie
JDS

2
Uwaga: w i / lub / nie jest rozróżniana wielkość liter. AND / OR nie działa.
Joseph Larson
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.