Конечно, можно использовать функцию поиска JsonPath для поиска объекта. https://www.javadoc.io/doc/io.rest-assured/json-path/3.0.0/io/restassured/path/json/JsonPath.html.
Пример приведен по ссылке:
{
"store": {
"book": [
{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
},
{
"category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 12.99
},
{
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
},
{
"category": "fiction",
"author": "J. R. R. Tolkien",
"title": "The Lord of the Rings",
"isbn": "0-395-19395-8",
"price": 22.99
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
}
}
и пример такого поиска:
List<Map> books = with(Object).get("store.book.findAll { book -> book.price >= 5 && book.price <= 15 }");
У меня немного более сложная структура json:
и я хочу найти элемент json с id == 100770 (кстати, он уникален), то есть элемент, расположенный внутри 5-го элемента во внешнем массиве, и является 3-м элементом внутреннего массива
но у меня нет четко помеченного пути json, как в примере выше, так что мне следует использовать ниже, чтобы заменить xx?
get("xx.xx.find { xx -> xx.id == 100770 }")
может ли кто-нибудь дать какое-либо предложение?
List<Map> elements = with(Object).get("array.contents.findAll { contents-> contents.id== 100770 }");
- person Lia   schedule 12.04.2021