五、Jmeter中提取JSON响应中数组的长度
2024-08-28 02:28:41
json响应如下:
{
"code":0,
"data":{
"data":[
{
"amount":50000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"" },
{
"amount":50000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时15小时 11分钟",
"createTime":"2019-12-05 18:24:56" },
{
"amount":50000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时15小时 54分钟"
}
{
"amount":50000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"" },
{
"amount":300000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时209小时 44分钟",
"createTime":"2019-11-27 15:51:44"
},
{
"amount":300000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时1917小时 0分钟"
},
{
"amount":300000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时1917小时 56分钟",
"createTime":"2019-09-17 11:39:22"
},
{
"amount":300000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时1984小时 54分钟",
"createTime":"2019-09-14 16:41:58"
},
{
"amount":300000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时1989小时 53分钟",
"createTime":"2019-09-14 11:42:29"
},
{
"amount":300000,
"appointmentInfoState":"00",
"appointmentState":"",
"appointmentTime":"",
"auditTime":"审核耗时2369小时 45分钟",
"createTime":"2019-08-29 15:50:46"
}
]
},
"mask":"c7d2f67d-a5e8-45a3-8f4b-0149c4a7e434",
"msg":"success",
"timestamp":1575596175
}
取出data对象下data数据的长度
1、首先导入alibaba的fastjson-1.2.59.jar包,放置lib\ext下,版本号自选
2、在接口之后添加BeanShell PostProcessor工具
编写代码如下:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; String jsonContent = prev.getResponseDataAsString(); JSONObject response = JSON.parseObject(jsonContent);
JSONArray dataList = response.getJSONObject("data").getJSONArray("data");
int length = dataList.size(); vars.put("m_length",length.toString());
注意:一下这样写是错误的
vars.put("m_length",length);
报错信息如下:
Error in method invocation: Method put( java.lang.String, int ) not found in class'org.apache.jmeter.threads.JMeterVariables'
没有找到put( Java.lang.String, int )这个方法。此处put的value应该是String
所以需要将values转换为String类型
最后正确代码如下:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; String jsonContent = prev.getResponseDataAsString(); JSONObject response = JSON.parseObject(jsonContent);
JSONArray dataList = response.getJSONObject("data").getJSONArray("data");
int length = dataList.size(); vars.put("m_length",length.toString()); log.info("m_length=${m_length}");
最新文章
- [C#][.net 4]Task 代码示例
- jQuery的attr与prop
- UpdatePanel的使用方法
- SpringMVC 手动控制事务提交
- NPM install - killed error solution
- 夺命雷公狗ThinkPHP项目之----企业网站24之网站前台获取当前栏目和顶级栏目
- 使用 MJ 自定义下拉刷新
- 关于delete和delete[]
- Flask 快速入门
- 移动前端制作篇之javascript篇
- ADG监控
- 详解javascript中的闭包
- 基于RAP(Mock)实现前后端分离开发
- matlab绘图与可视化
- zoj 1649 bfs
- 洛谷[LnOI2019]长脖子鹿省选模拟赛 简要题解
- leetCode26.删除排序数组中的重复项
- docker-compose安装redis-sentinel集群(1主+2副+2哨兵)
- 最小生成树(图论)--3366lg【模版】
- Java知多少(21)this关键字详解