JQ: Wählen Sie mehrere Bedingungen aus

112

Ich habe einen JSON und im Moment muss ich mit select nur die Daten abrufen, die einer Bedingung entsprechen. Ich muss basierend auf mehr Bedingungen filtern.

Zum Beispiel:

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

Wie kann ich das machen?

Andrei Colta
quelle

Antworten:

249

jq unterstützt die normalen Booleschen Operatoren und / oder / nicht, so würde es aussehen:

.[] | select((.processedBarsVolume <= 5) and .processedBars > 0)
Hans Z.
quelle
63
toll, es wäre schön, wenn du die Antwort dann akzeptieren könntest!
Hans Z.
2
Gibt es einen Grund für die zusätzlichen Zahnspangen .processedBarsVolume <= 5?
ssc
6
Nein, habe gerade den Unterschied mit dem Vorschlag des OP auf das relevante Minimum gehalten
Hans Z.
Es ist unwahrscheinlich, dass das geliebte Häkchen zu diesem Zeitpunkt jemals erreicht wird
JDS
2
Hinweis: Bei und und / oder nicht wird zwischen Groß- und Kleinschreibung unterschieden. UND / ODER funktionieren nicht.
Joseph Larson