Гарантированный ОТДЫХ | Как получить строковое значение на основе критериев соответствия с помощью JSONpath

Мне нужно получить значение счетчика на основе критериев соответствия с использованием REST Assured Jsonpath

Я пробовал следующее, но не работал:

response().jsonPath().getString("{it.B == '456'}.B1.size()")

JSON:

[{ "A": "123", "A1": [{ "A11": "A111" }, { "A12": "A112" }, { "A13": "A113" }] },
{ "B": "456", "A1": [{ "B11": "B111" }, { "B12": "B112" }, { "B13": "B113" }, { "B14": "B114" }, { "B15": "B115" }] },
{ "C": "456", "A1": [{ "C11": "C111" }, { "C12": "C112" }, { "C13": "C113" }, { "C14": "C114" }, { "C15": "C115" }, { "C16": "C116" }] }
]

person novice    schedule 03.10.2019    source источник
comment
Что вы имеете в виду, говоря, что не работает? Выдает ошибку или возвращаемые данные не соответствуют вашим ожиданиям? Пожалуйста, обновите свой вопрос этой информацией.   -  person luis.parravicini    schedule 03.10.2019
comment
Выдавала ошибку. Я в принципе не знаю, как использовать этот синтаксис   -  person novice    schedule 03.10.2019


Ответы (1)


Пожалуйста, попробуйте следующее, он вернет 456

response().jsonPath().getString("$.[1].B")

person KnowledgeSeeker001    schedule 03.10.2019
comment
спасибо за ответ @ KnowledgeSeeker001. Мой JSON был неправильным в вопросе. Я его обновил. Мне нужно получить количество A1 в зависимости от критериев соответствия, которые могут быть значениями A, B или C. Если filter A = 123, он должен вернуть размер A1 как 3. Если его B = 456, то он должен вернуть размер A1 как 5 - person novice; 03.10.2019