如何Jmeter中书写正确的jsonpath表达式

在jmeter中涉及到json的地方就必然要写jsonpath的表达式,英文表达为:"JSON Path expressions",可以理解为某个字段在响应的json报文中的路径,他通用的格式是:.键的名称,用一个英文的""表示json外面的大括号,然后用一个点加上键的名字表示路径,具体的可以看下面的情况分析:

响应中遇到不同的json类型如何书写jsonpath表达式

第一种:响应结果全部都是键值对格式,也就是:{key1:value1,key2:value2,key3:value3,key4:value4,key5:value5}

这种情况如果要提取value1,那么表达式就是:$.key1

第二种:响应结果是嵌套的键值对格式,也就是有好多个括号的情况:

{key1:{key2:{key3:value3,key4:value4},key5:value5}}

这种情况如果要提取value3,那么表达式就是:$.key1.key2.key3

第三种:响应结果既有嵌套又有数组,也就是既有大括号又有中括号的情况:

{key1:[{key2:value1},{key2:value2},{key2:value3}]}

这种情况如果要提取key2对应的所有值value1、value2、value3,那么表达式就是:$.key1[*].key3

其中:

[*] 表示取出数组中的所有值

[0] 表示取出数组中的第一个值

[1] 表示取出数组中的第二个值,其他的以此类推

如何验证所写的jsonpath的正确性

在查看结果树中选择"JSON Path Tester",输入表达式然后点击test,如果有返回结果证明书写正确,如果没有那就是写错了。

其他参考资料

这个也只是我个人的一个学习笔记,如果大家还是看不懂的话可以评论区留言或者参考一下其他大佬写的:

jmeter从接口返回值中提取数据的方法------后置处理器JSON Extractor_jmeter------提取返回值里的部分信息-CSDN博客

JSONPath 表达式与用法_jsonpath表达式-CSDN博客

相关推荐
半个俗人2 天前
05postman关联-常用的数据提取方式
测试工具·jmeter·postman·js
爆更小哇6 天前
jmeter插件下载+创建梯度线程组+命令生成性能测试报告
测试工具·jmeter·自动化
抓到小松鼠7 天前
jmeter-事务控制器
jmeter
张永清-老清7 天前
每周读书与学习->Jmeter中如何使用Bean Shell脚本(三)Bean Shell的基础语法之运算符和控制流语句
学习·jmeter·性能优化·性能测试·jmeter性能测试·beanshell·每周读书与学习
张永清8 天前
每周读书与学习->Jmeter中如何使用Bean Shell脚本(三)Bean Shell的基础语法之运算符和控制流语句
jmeter·性能测试·性能调优·jmeter性能测试·性能分析·性能监控·性能诊断·每周读书与学习·bean shell
半个俗人8 天前
13.jmeter性能测试高并发及高频率弱压力及持续高并发
jmeter
程序员杰哥8 天前
Jmeter正则表达式提取器和JSON提取器基础用法
自动化测试·软件测试·测试工具·jmeter·正则表达式·json·测试用例
半个俗人8 天前
12.jmeter跨越线程组传值-全局变量
jmeter