jmeter之beanshell提取json数据

2022-11-02,,,,

Jmeter BeanShell PostProcessor提取json数据

假设现有需求:

提取sample返回json数据中所有name字段对应的值,返回的json格式如下:
{“body”:{“data”:[{“name”:”liuke”},{“name”:”test”}]}}

Jmeter添加BeanShell PostProcessor,

BeanShell代码:

import org.json.*;

String response_data = prev.getResponseDataAsString();
JSONObject data_obj = new JSONObject(response_data);
String apps_str = data_obj.get("body").get("apps").toString();
JSONArray apps_array = new JSONArray(apps_str);
String[] result = new String[apps_array.length()];
for(int i=0;i<apps_array.length();i++){
    JSONObject app_obj = new JSONObject(apps_array.get(i).toString());
    String name = app_obj.get("name").toString();
    result[i] = name;
}
vars.put("result", Arrays.toString(result));

使用${result}引用即可。

jmeter之beanshell提取json数据的相关教程结束。

《jmeter之beanshell提取json数据.doc》

下载本文的Word格式文档,以方便收藏与打印。