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}");

五、Jmeter中提取JSON响应中数组的长度的更多相关文章

  1. JMETER从JSON响应中提取数据

    如果你在这里,可能是因为你需要使用JMeter从Json响应中提取变量. 好消息!您正在掌握掌握JMeter Json Extractor的权威指南.作为Rest API测试指南的补充,您将学习掌握J ...

  2. 如何使用JMETER从JSON响应中提取数据

    如果你在这里,可能是因为你需要使用JMeter从Json响应中提取变量. 好消息!您正在掌握掌握JMeter Json Extractor的权威指南.作为Rest API测试指南的补充,您将学习掌握J ...

  3. Jmeter(三十四)_Beanshell解析并提取json响应

    1:前置条件 将fastjson-1.2.49.jar包置于jmeter的lib目录下,并将该jar包添加到测试计划的Library中:否则会报:Typed variable declaration ...

  4. 如何解决jersey框架中以json格式返回数组,当数组中元素一个时json格式不对

    原文地址:http://www.cnblogs.com/swpk/p/3566536.html?utm_source=tuicool jersey 是oracle 出的一个较好的REST框架.使用此框 ...

  5. Jmeter_Beanshell解析并提取json响应

    1:前置条件 将fastjson-1.2.49.jar包置于jmeter的lib目录下,并将该jar包添加到测试计划的Library中:否则会报:Typed variable declaration ...

  6. 提取json响应结果值_后置处理器JSON Extractor

    Json响应格式 json串中{}表示对象,[]表示数组 JSON Extractor使用json path表达式匹配,可以一次取多个变量值. $表示响应的根对象. 取子对象或对象的属性用. 取数组里 ...

  7. Jmeter正则提取请求响应数据

    前言 在测试时,我们经常需处理请求返回的响应数据,比如很多时候 cookie 或 token 或 Authorization授权码 会返回在 Response headers(响应头)中,这时我们便需 ...

  8. Jmeter4.0 _Beanshell解析并获取json响应数据数组长度

    我们在做jmeter接口测试的时候,有时候碰到开发没返回数据total,只返回了一条条记录,可是呢,我们又需要知道到底返回了多少条数据时,咋办呢?咋办呢?咋办呢? 不要急,接下来,让我们见证奇迹是如何 ...

  9. Jmeter - 把提取的响应结果设置成全局变量

    1. 用正则表达式从响应结果中提取需要的字符 2.添加BeanShell 后置处理程序,${__setProperty(setcookies,${cookies},)} 用函数定义其为全局变量 3.调 ...

随机推荐

  1. U盘被识别但不显示盘符怎么样才能解决?

    很多朋友在将U盘插入电脑后,会发现右下角的任务栏虽然出现了U盘的图标,但是在我的电脑中并没有显示出U盘的盘符,也就无法继续对U盘进行操作.遇到这种情况该怎么办呢?下面好系统U盘启动就告诉大家相应的解决 ...

  2. Oracle【账户管理】

    Oracle学习大致体系oracle管理系统介绍(客户端和服务器端的交互模式)oracle数据库的数据管理(增删改查 查询)oracle账户管理oracle二维表管理   --创建表   --维护表  ...

  3. Centos7 更改网卡名称

    cd /etc/sysconfig/network-scripts/ 将要改名的网卡配置文件重命名,例如 mv ifcfg-eth1 ifcfg-eth0 vim ifcfg-eth0 修改devic ...

  4. P3731 二分图匹配必经边

    题意经过一番转换变成了 让你在一个二分图上删一条边使得二分图的最大独立集大小至少+1 二分图的最大独立集=点数-最小点覆盖(最大匹配) 点数是固定不变的 所以我们要减少最大匹配数 则删掉的哪一条边必须 ...

  5. NIM 1

    博弈论(一):Nim游戏 重点结论:对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^an=0,其中^表示位异或(xor)运算. Nim游戏是博 ...

  6. linux 默认为ipv6的话 ,如果设置ipv4?

    第一步:查出是ens33 第二步:修改文件 对比下方修改就ok TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=dhcp DEFRO ...

  7. python 文件操作的相对路径和绝对路径(windows)

    1.相对路径 windows  '.\'表示当前路径 with open(r'.\db\123.txt','w',encoding='utf-8') as f: f.write('abc') 2.绝对 ...

  8. Vue双向绑定的实现原理系列(四):补充指令解析器compile

    补充指令解析器compile github源码 补充下HTML节点类型的知识: 元素节点 Node.ELEMENT_NODE(1) 属性节点 Node.ATTRIBUTE_NODE(2) 文本节点 N ...

  9. BZOJ 1420: Discrete Root (原根+BSGS)

    题意 已知kkk, aaa, ppp. 求 xk≡a (mod p)x^k\equiv a\ (mod\ p)xk≡a (mod p) 的所有根. 根的范围[0,p−1][0,p-1][0,p−1]. ...

  10. nodejs (下)(设置响应参数)

         响应: 可以自定义设置状态码(状态码范围内的):res.statusCode =  404; 修改响应头信息: res.setHeader('content-type','text/html ...