如何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博客

相关推荐
wuhuhuan17 小时前
JMeter 性能测试教程
jmeter
行者-全栈开发2 天前
JMeter + InfluxDB + Grafana:搭建生产级压测实时监控与告警体系
jmeter·grafana·时序数据库·influxdb·实时监控·backendlistener·告警性能测试
wuhuhuan2 天前
【JMeter 学习打卡 Day 7】从会用到会用对,完成一次完整压测
学习·jmeter
行者-全栈开发4 天前
JMeter 自定义 Sampler 开发:从零写 TCP 私有协议压测插件
jmeter·tcp协议·源码解析·插件开发·gradle构建·自定义sampler·abstractsampler
wuhuhuan4 天前
【JMeter 学习打卡 Day 5】控制流程和节奏的利器
学习·jmeter
wuhuhuan5 天前
【JMeter 学习打卡 Day 4】多用户登录 + 动态 token 关联
学习·jmeter
wuhuhuan5 天前
jmeter高级用法-ForEach控制器和BeanShell断言
jmeter
weixin_440730509 天前
手工接口测试使用总结
jmeter·接口测试
Amir_zy10 天前
JMeter吞吐量与并发数:要求TPS达到200,并发至少是多少?
jmeter
孫治AllenSun14 天前
【Jmeter】项目压测流程案例
jmeter