Jmeter 解析json文件(多条件获取数组中某个节点的值)

Jmeter 解析json文件(多条件获取数组中某个节点的值),第1张

使用jmeter做接口测试时,经常会要获取json文件中数组中某个相同节点的值。如下述json文件

想要获取claimLabors节点下claimEstimateItemName="前保险杠骨架"且operationType= "03"的partNo。

分析:

1、jmeter中要想获取到claimLabors节点下claimEstimateItemName="前保险杠骨架"且operationType= "03"的partNo值,必须要解析该json文件。所以需要在beanshell中使用第三方jar包,则先要在idea中新建工程jmeterTool

2、在idea中新建工程jmeterTool,并新增类:JsonUtil

这里提供两种方法获取partNo的值。

方法一:通过jsonpath获取partNo的值。

方法getJsonVal得到一个list返回值,因为是某一个具体的值,所以直接使用substring截取[]内的内容即可。

方法二:通过jsonpath获取partNo所属数组的整个节点,再通过map获取partNo的值。

方法getJsonNode得到一个list<Map>对象,因为是list里只有一个对象,所以使用listget(0)获取到map,再通过mapget("任意字段名称")即可获取对应的值。

上述main方法中的测试,是为了方便后续打jar包。

这里解析json,用到json-path包,所以在工程中需要导入该包:

3、将上述工程打成jar包。

打完包后,进入到包所在的路径下,结构如下:

如果不是上述内容,需要修改一下(将工程的META-INF目录下MANIFESTMF文件中的内容复制过来即可)。否则cmd测试时会提示:没有主清单

4、将打的包放到jmeter安装目录的lib\ext文件夹下

5、打开jmeter,在对应脚本的beanshell中引入该包中的JsonUtil类并调用

ok了。

[]map(); 基本用法跟forEach方法类似:

arraymap(callback,[ thisObject]);

map方法的作用不难理解,“映射”嘛,也就是原数组被“映射”成对应新数组。下面这个例子是数值项求平方:

可用于数组转换,将数组转换成对象数组

import javautilHashMap;

import javautilIterator;

import javautilSet;

public class TestHm {

public static void main(String atgs[]){

HashMap hm=new HashMap();

//添加内容

hmput("Object key1", "Object value");

hmput("Object key2", "Object value");

hmput("Object key3", "Object value");

hmput("Object key4", "Object value");

//删除Object key3

hmremove("Object key3");

//创建数组,声明i作为数组下标

String s[]=new String[hmsize()];

int i=0;

//显示内容

Set set=hmkeySet();

Iterator it=setiterator();

while(ithasNext()){

String t=(String)itnext();

Systemoutprintln(t);

s[i++]=t;

}

//测试数组是否添加值

Systemoutprintln("===================");

for(int t=0;t<=2;t++)

Systemoutprintln(s[t]);

}

}

java获得map的key:

方式1

Iterator iterator = hashMapkeySet()iterator();

while (iteratorhasNext()) {

String key = (String)iteratornext();

Systemoutprintln(key+":"+hashMapget(key));

}

方式2:

for(Iterator ite = mapentrySet()iterator(); itehasNext();){

MapEntry entry = (MapEntry) itenext();

entrygetKey();

entrygetValue();

}

以上就是关于Jmeter 解析json文件(多条件获取数组中某个节点的值)全部的内容,包括:Jmeter 解析json文件(多条件获取数组中某个节点的值)、js 数组 map方法、java代码实现hashmap的插入,删除一个对象,并将value值放入数组中,并获取数据显示出来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9636441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存