Как извлечь значения из массива с помощью JSON Extractor в Jmeter?
Я хочу извлечь ниже JSON и использовать значения соответственно.
I / p JSON: -
{
"status": "Success",
"message": "User created successfully",
"id": [
131188,
131191
]
}
Здесь я хочу значения поля id. Я использовал JSON Extractor и дал выражение в виде $.id, которое дает мне [131188,131191] в переменной. Теперь я хочу использовать отдельные значения из этого массива, т.е. 131188 и 131191. Любая идея, как это сделать?
Обновление: я не хочу использовать 2 экстрактора JSON.
2 ответа
Решение
Просто добавьте [*] к вашему выражению пути JSON, как показано ниже
$.id[*]
Это создаст переменную jmeter для каждого значения. Обратите внимание, что вы должны использовать -1
в поле номеров совпадений.
Вы можете использовать json-экстрактор и "JSR223 PostProcessor" с отличным языком. Пример:
import groovy.json.JsonSlurper
//String jsonString = vars.get("jsonFromExtractor")
String jsonString = '''
{
"status": "Success",
"message": "User created successfully",
"id": [
131188,
131191
]
}
'''
log.info("jsonString:" + jsonString)
def json = new JsonSlurper().parseText( jsonString )
String idValue1 = json.get("id").get(0)
String idValue2 = json.get("id").get(1)
log.info("idValue1:" + idValue1)
log.info("idValue2:" + idValue2)
надеюсь, это поможет