【JMeter】获取json响应报文中数组长度

 1 import com.jayway.jsonpath.JsonPath;
 2 import com.jayway.jsonpath.Predicate;
 3 import net.minidev.json.JSONArray;
 4 public class Test {
 5     public static String readjson(String json, String jsonPath) {
 6         try
 7         {
 8             Object value = JsonPath.read(json, jsonPath, new Predicate[0]);
 9             if (value instanceof Integer)
10               {
11                 return value.toString();
12               }else if (value instanceof String)
13               {
14                     return value.toString();
15               }else if (value instanceof Boolean)
16               {
17                     return value.toString();
18               }else if (value instanceof JSONArray)
19               {
20                   JSONArray arr = (JSONArray)value;
21                   if(!arr.isEmpty()){return arr.toJSONString();}
22                   return "";
23               }else if (value instanceof LinkedHashMap)
24               {
25                     return value.toString();
26               }else if (value instanceof float)
27               {
28                     return value.toString();
29               }else{
30                   return  value.toString();
31               }
32         }
33         catch(Exception e){
34             return "pathnotfound";
35         }
36     }
37 }
38 //------------------------------------------------------------------------------------------------------------------
39 public static void fun(){
40     String response_data=prev.getResponseDataAsString();//prev为JMeter预定义变量
41     String JsonPath="$.data.detail.length()";
42     String result=Test.readjson(response_data,JsonPath);
43     int resultToNum=Integer.parseInt(result);
44     log.info("------------------------详情长度:"+result+"----------------------");
45 }
46 fun();

时间: 2024-08-04 12:14:30

【JMeter】获取json响应报文中数组长度的相关文章

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

如果你在这里,可能是因为你需要使用JMeter从Json响应中提取变量. 好消息!您正在掌握掌握JMeter Json Extractor的权威指南.作为Rest API测试指南的补充,您将学习掌握Json Path Expressions所需的一切. 我们走吧!并且不要惊慌,那里没有什么困难. Json格式 为了更好地理解Json是什么,这是一个示例Json文档: { "store": { "book": [ { "category": &qu

php获取一维,二维数组长度的方法(有实例)

在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧.php如何获取数组的长度,使用php函数count(),或是sizeof()例如: 复制代码代码如下: $arr = Array('0','1','2','3','4'); echo count($arr);// 输出 5$arr = array('A','B','C');echo sizeof($arr);//输出3 sizeof()和c

Jmeter获取 json字符的另外一种写法

在jmeter使用过程中,我们经常会看到接口返回数据类型为application/json,也就时我们常说的json格式. 而在功能测试时,我们经常会要对它的结果进行断言,确认结果是否与预期一致,有时候还会想从结果中提取某个值,作为下一个接口的输入,俗称关联. 之前,我有写过一篇文章,jmeter 不写代码,秒秒钟提取动态列表最后一个值 大家想了解的话,可以去看看. 今天这篇,我们将在此基础上,给大家讲一些更多的鲜为人知的jsonpath技巧. 平时大家用jsonpath提取某个值,用的都是$.

oracle 正则查询json返回报文中某个字段的值

接口返回报文为json 格式,如下: {"body":{"businessinfo":{"c1rate":"25.00","c2rate":"0.00","c4rate":"0.00","c5rate":"0.00","c6rate":"6.00","c8ra

HTTP协议浅析(中):请求报文和响应报文

1. 请求报文格式 1.1 服务器测试代码 服务器测试代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int main() { // 创建通信端点:套接字 int s

HTTP请求报文和响应报文

HTTP报文分为请求报文(request message)与响应报文(response message). 一.报文的组成部分 一个HTTP报文由3部分组成,分别是: (1).起始行(start line) (2).首部(header) (3).主体(body) 示例: HTTP/1.0 200 OK //起始行 Content-type:text/plain //首部 Content-length:19 //首部 Hi I'm a message! 主体 1.1 请求报文与响应报文的格式 请求

C++ 中数组做参数的分析

C++ 中数组做参数的分析 1.数组降价问题? "数组引用"以避免"数组降阶",数组降阶是个讨厌的事,这在C语言中是个无法解决的问题,先看一段代码,了解什么是"数组降阶" 1 #include <IOSTREAM> 2 using namespace std; 3 4 void Test( char array[20] ) 5 { 6 cout << sizeof(array) << endl; // 输出 4

php中count获取多维数组长度的方法

本文实例讲述了php中count获取多维数组长度的实现方法.分享给大家供大家参考.具体分析如下: 先来看看下面程序运行结果: $numb=array(             array(10,15,30),array(10,15,30),array(10,15,30) ); echo count($numb,1); A.3B.12C.6D.9答案是Bcount函数中如果mode被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数(也就是你结果的12).如

Jmeter之JSON提取器获取数组类型的数据

前言 在之前,我们已经学会了Jmeter的JSON提取器提取某个数据,还没掌握的小伙伴可以翻看我之前写的随笔Jmeter之JSON提取器,今天我们来学习一下怎么利用JSON提取器获取数组类型的数据,多用于列表信息数据的获取. 本章知识考察点 jsonpath方式获取的值 单个值怎么获取? data.files[索引].filed 多个指定的值怎么获取? data.files 0与-1的设置有什么区别? 0表示随机值,-1表示所有的值 一:先添加登录http请求,然后再添加获取文件列表http请求