欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > 记录Jmeter 利用BeanShell 脚本解析JSON字符串

记录Jmeter 利用BeanShell 脚本解析JSON字符串

2025/3/31 16:23:19 来源:https://blog.csdn.net/u010784529/article/details/146553353  浏览:    关键词:记录Jmeter 利用BeanShell 脚本解析JSON字符串

下载org.json包(文档说明)

#下载地址
https://www.json.org/
# github 地址
https://github.com/stleary/JSON-java
# api 文档说明
https://resources.arcgis.com/en/help/arcobjects-java/api/arcobjects/com/esri/arcgis/server/json/JSONObject.html

BeanShell脚本

import org.json.JSONObject;
try {//接受登录返回json字符串进行处理String jsonResponse = prev.getResponseDataAsString();//log.info("Response: " + jsonResponse);//去除外层双引号if (jsonResponse.startsWith("\"") && jsonResponse.endsWith("\"")) {jsonResponse = jsonResponse.substring(1, jsonResponse.length() - 1);}//转义处理jsonResponse = jsonResponse.replace("\\\"", "\"");//清理隐藏字符jsonResponse = jsonResponse.replaceAll("^\uFEFF", "").trim();byte[] resultByt = jsonResponse.getBytes();//回写设置结果prev.setResponseData(resultByt);// log.info("Response_end: " + jsonResponse);JSONObject json = new JSONObject(jsonResponse);// log.info("json: " + json);String token = json.getString("Token");log.info("auth_token: " + token);// 设置gToken变量vars.put("auth_token", token);//log.info("获取auth_token: " +  vars.get("auth_token"));// 作为全局变量props.put("g_auth_token", token);//log.info("获取g_auth_token: " +  props.get("g_auth_token"));} catch (Exception e) {//解析错误,输出错误信息log.error("JSON解析错误: " +  e.getMessage());}

结果
取变量
取变量结果

使用脚本断言


try{//接受登录返回json字符串进行处理String jsonResponse = prev.getResponseDataAsString();log.info("Response_断言: " + jsonResponse);//状态码断言log.info("状态码:" + ResponseCode);if(ResponseCode.equals("200")){ Failure=false;	// 表示断言成功}else{Failure=true;	// 表示断言失败FailureMessage="响应状态码非200";  // 自定义的失败信息}} catch (Exception e) {//解析错误,输出错误信息log.error("JSON解析错误: " +  e.getMessage());}

断言结果

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词