如何使用JMeter计算JSON数组的长度?

时间:2015-03-27 10:08:03

标签: arrays json jmeter jmeter-plugins

我正在使用Jmeter进行API调用。答复是:

{
  "qid": [
    {
      "id": "88e4b027b72f793d3c",
      "created": 1410955125065
    },
    {
      "id": "54197788e4",
      "created": 1410955125065
    },
    {
      "id": "788e4",
      "created": 1410955125065
    },
    {
      "id": "5419778",
      "created": 1410955125065
    },
    ....
  ]
}

JSON数组的长度因API请求的不同而异。如何确定JSON数组的长度?

4 个答案:

答案 0 :(得分:0)

JMeter拥有Beanshell后处理器。

因此导入Java JSON解析器。

import org.json.*;
JSONObject jsonObj = new JSONObject(prev.getResponseDataAsString());
JSONArray jsonQid = jsonObj.getJSONArray("qid");
//jsonQid.length  --> should print the array length

答案 1 :(得分:0)

更简单的方法是使用“Content-Length”标头参数。

请记住,此值代表实际的身体长度, 压缩后,如果有的话。

答案 2 :(得分:0)

String response = prev.getResponseDataAsString();
JSONParser parser = new JSONParser();
JSONArray arrayJson = (JSONArray) parser.parse(response);
String size = arrayJson.size().toString();

答案 3 :(得分:0)

我发现使用最新版本的JMeter更容易使用JSON Path Postprocessor。在您的示例中,添加以下JSON路径表达式:$ .qid。*。id。

向脚本添加带有侦听器的调试采样器。运行脚本后,变量qid_matchNr将等于您感兴趣的JSON数组的大小。该变量可用于您的脚本。