Интересно, можно ли фильтровать сложные объекты-объекты дочернего уровня (не простая строка) и извлекать те родительские узлы, чьи дети соответствуют прогнозам.Поддерживает ли фильтр поддержки Jayway на уровне детей, возвращает родительский узел?
Возьмите пример книжного магазина из проекта github от Jayway: https://github.com/jayway/JsonPath#path-examples.
Если бы я изменил «автора» к более сложному объекту, как следующее:
"authors": [
{
"firstName": "Nigel",
"lastName": "Rees"
},
{
"firstName": "Evelyn",
"lastName": "Waugh"
}
]
с тем, что, как я могу получить обратно «все книги, которые были написаны кем-то с фамилией«Уо '' ?
Я пытался играть с Json оценщиком (http://jsonpath.herokuapp.com/) использовать что-то вроде $.store.book[?(@.authors[?(@.lastName == 'Waugh')])]
, но кажется, что фильтр не работает. Я предполагаю, что Jayway не допускает вложенных предикатов. Если это так, будет ли это обходным путем?
Также, если есть какая-либо другая реализация Java JsonPath, которая может прийти на помощь, мне бы очень хотелось ее изучить.
Заранее спасибо.
Благодарим за внимание. Да, я закончил свой путь с помощью цикла, чтобы получить нужные мне внешние узлы. То же, что и вы, я задаюсь вопросом, является ли это ограничением Jayway JsonPath. –
Хорошо. Пожалуйста, примите ответ, если это было полезно. – notionquest