OR operator in JSONPath?

From the JSONPath page:

[,] - Union operator in XPath results in a combination of node sets. JSONPath allows alternate names or array indices as a set.

Try

$..log[?(@.severity == 'WARN'), ?(@.severity == 'Error')]

Edit: Looks like there is an open issue for logical AND and OR operators in which they state that the operators are not yet supported by JSONPath.


If you are using Goessner's parser, you can use the || operator within your expression as follows:

$..log[?(@.severity == 'WARN' || @.severity == 'Error')]

Tags:

Json

Jsonpath