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?

Antworten:


249

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

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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.