#json #jmeter
#json #jметр
Вопрос:
Мне нужно извлечь определенное значение из ответа JSON (или текста) с условием (другое значение JSON):
У меня есть такой ответ:
{
"availabilityPercentage": "0.7713",
"availability": [
{
"date": "2021-03-05",
"estimators": [
{
"skills": [
"Non-Driveable"
],
"estimatorId": "99999999-0000-0000-9999-000000000002",
"timeSlots": [
{
"timeFrom": "08:00",
"isAvailable": false,
"timeTo": "08:30",
"slot": "MjAyMS0wMy0wNSUwODowMDowMCUwODozMDowMA"
},
{
"timeFrom": "08:30",
"isAvailable": true,
"timeTo": "09:00",
"slot": "MjAyMS0wMy0wNSUwODozMDowMCUwOTowMDowMA"
},
{
"timeFrom": "09:00",
"isAvailable": false,
"timeTo": "09:30",
"slot": "MjAyMS0wMy0wNSUwOTowMDowMCUwOTozMDowMA"
}
}
]
}
]
}
] }
И я хочу извлечь только значение «slot», когда значение «isAvailable» равно true.
Как я могу это сделать с помощью JMeter?
Заранее благодарю.
С уважением
Ответ №1:
Вы можете использовать JSON JMESpath Extractor который позволяет выполнять произвольные запросы JMESpath что вероятно является наиболее мощным способом получения данных из ответов JSON
Пример запроса JMESpath:
availability[*].estimators[*].timeSlots[?isAvailable==`true`].slot | [0] | [0]
ДЕМОНСТРАЦИЯ:
Дополнительная информация: JMeter JSON JMESpath Extractor и Assertion: руководство
Комментарии:
1. Спасибо @Dmitri T, который также сработал для меня.