Как извлечь значения из массива с помощью JSON Extractor в Jmeter? - PullRequest
1 голос
/ 22 апреля 2019

Я хочу извлечь ниже JSON и использовать значения соответственно.

I / p JSON: -

{
  "status": "Success",
  "message": "User created successfully",
  "id": [
    131188,
    131191
  ]
}

Здесь я хочу значения поля id. Я использовал JSON Extractor и дал выражение в виде $ .id, которое дает мне [131188,131191] в переменной. Теперь я хочу использовать отдельные значения из этого массива, т.е. 131188 и 131191. Есть идеи как это сделать?

Обновление: я не хочу использовать 2 экстрактора JSON.

Ответы [ 2 ]

1 голос
/ 22 апреля 2019

Просто добавьте [*] к вашему выражению пути JSON, как показано ниже

$.id[*]

Это создаст переменную jmeter для каждого значения. Обратите внимание, что вы должны использовать -1 в поле номеров совпадений.

0 голосов
/ 22 апреля 2019

Вы можете использовать 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)

Надеюсь, это поможет

...