Я пытаюсь найти выражение jsonpath, которое будет возвращать значения только в том случае, если массив json включает обе категории «беллетристика» и «ссылка» и ничего не возвращает, если в json включена только одна из них.
{
"store": {
"book": [
{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century"
},
{
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick"
},
{
"category": "fiction",
"author": "J.R.R. Tolkien",
"title": "The Lord of the Rings"
}
]
}
}
Следующее выражение работает, когда json включает обе категории, но все равно возвращает результаты, даже если у json есть только одна из двух категорий.
$..book[?(@.category == 'fiction' || @.category == 'reference')]
Если я попытаюсь использовать && вместо ||- Я получаю ошибку выражения.
$..book[?(@.category == 'fiction' && @.category == 'reference')]