如何在 jmeter 中使用 JSON Extractor 从数组中提取值?

How to extract values out of a array using JSON Extractor in jmeter?

我想在下面提取 json 并相应地使用值。

I/p JSON:-

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

这里我想要 id 字段的值。我使用了 JSON Extractor 并将表达式作为 $.id 给出了变量中的 [131188,131191]。现在我想使用这个数组中的单个值,即 131188 和 131191。 知道怎么做吗?

更新:我不想使用 2 个 JSON 提取器。

只需将 [*] 添加到您的 JSON 路径表达式中,如下所示

$.id[*]

这将为每个 value.Note 创建一个 jmeter 变量,您应该在匹配号码字段中使用 -1

您可以使用 json 提取器和具有 groovy 语言的 "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)

希望对您有所帮助