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. yocto 编译C程序

    1. 找到编译器位置所在(相关设置参考/opt/poky/1.7/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi文件) poky安装在 ...

  2. Python3.8新特性--PositionalOnly参数

    “理论联系实惠,密切联系领导,表扬和自我表扬”——我就是老司机,曾经写文章教各位怎么打拼职场的老司机. 不记得没关系,只需要知道:有这么一位老司机, 穿上西装带大家打拼职场! 操起键盘带大家打磨技术! ...

  3. Beta冲刺——星期五

    这个作业属于哪个课程 <课程的链接> 这个作业要求在哪里 <作业要求的链接> 团队名称 飞猪们 这个作业的目标 剩余任务预估,分配任务(开发,测试等).按要求提交当天冲刺报告. ...

  4. java继承-子类调用父类的方法中包含子类重写的方法

    # 看题目是不是很绕,这个我也不知道怎么才能更简单的表达了... # 先看代码: public class Common { public static void main(String[] args ...

  5. 22_5mybatis多表操作

    1.表之间的关系 一对多 多对一 一对一 多对多 举例: 用户和订单就是一对多 订单和用户就是多对一 一个用户可以下多个订单 多个订单属于同一个用户 人和身份证号就是一对一 一个人只能有一个身份证号 ...

  6. shell命令学习记录

    id id会显示用户以及所属群组的实际与有效ID hostname 用来显示或者设置主机名(show or set the system’s host name).环境变量HOSTNAME也保存了当前 ...

  7. PAT乙级1024

    题目链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805297229447168 题解 第一遍也是没有全部AC,有3 ...

  8. 本地文件上传到gitlab

    1.本地创建目录gbdt_model 2.进入文件目录,在文件中点击鼠标右键选择bash控制台进入 3.运行git init 命令,文件中会多出一个.git 命令 4. git commit -m & ...

  9. MySQL Audit日志审计

    一.简介 数据库审计能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库受到的风险行为进行告警,对攻击行为进行阻断,它通过对用户访问数据库行为的记录.分析和汇报,用来帮助用 ...

  10. vue基本语法 JS补充

    目录 一.VUE框架入门 1. vue框架的优势 二.VUE框架的基本使用 1. vue的引用 2. vue的基本语法结构 2. 插值表达式 3. 文本指令 (1)v-text (2)v-html ( ...