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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter 解析json文件(多条件获取数组中某个节点的值)相关的知识,希望对你有一定的参考价值。

参考技术A 使用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里只有一个对象,所以使用list.get(0)获取到map,再通过map.get("任意字段名称")即可获取对应的值。

上述main方法中的测试,是为了方便后续打jar包。
这里解析json,用到json-path包,所以在工程中需要导入该包:

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

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

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

4、将打的包放到jmeter安装目录的lib\ext文件夹下
5、打开jmeter,在对应脚本的beanshell中引入该包中的JsonUtil类并调用

ok了。

以上是关于Jmeter 解析json文件(多条件获取数组中某个节点的值)的主要内容,如果未能解决你的问题,请参考以下文章

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

jmeter中json提取器和断言器的简单用法

jmeter解析response里的json对象和数组

批处理如何获取json文件中某一行key对应的值?

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

jmeter提取json数据进行接口参数关联