Jmeter--json提取器

本文介绍如何使用JMeter中的JSON提取器从响应结果中提取JSON格式数据,并提供实际操作案例,包括配置方法及常见表达式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSON提取器

JSON提取器用于提取请求返回结果中JSON格式数据的某个值或者某一组值。
标准写法:$.key或者.key或者.keykey[n]。根据不同的返回结果可以进行多重嵌套
备注:csdn总是发生转义,烦死了,json每个提取式都是从根节点开始的所以都是从金钱那个符号开始的,大家知道就好了
下面用一组数据来说明
在这里插入图片描述

请求成功后,在查看结果树下选择json path tester格式(切记不要选择成了json jmespath tester),可以看到响应数据的数据变成了json格式。json path tester还能对json提取的结果进行查看,下面先附上Json提取器的运算符
在这里插入图片描述
json提取是通过数据结构一层一层去查找的,要获取数据上的start值,我可以写成$$…start。这样他就会从根元素下去找这个子节点start,在json path expression输入框种输入,点击test
在这里插入图片描述
可以看到数据已经出来了,上面那个我也可以写成按层级去查找的(优快云总是字符转义,导致金钱符号搞不出来,直接上图片吧)在这里插入图片描述
在这里插入图片描述
可以看到效果是一样的,那么如何只获取一个值呢?这就要使用到我们的[]这个东西了,直接上图
在这里插入图片描述
timeLine[0]就是选择了第一个timeLine下的第一组数据,所以在第一组数据里去找start那就肯定只能找到一个start数据了,[n:y]就是获取第n到第y个shuj,[-n]就是获取倒数第n个数据。
在这里插入图片描述
在这里插入图片描述

json提取器的应用

我吐了,刚才演示的请求崩掉了,应用就用另一个请求演示吧!在请求下面添加JSON提取器,调试后置处理程序(后置处理器-debug postprocessor)接下来配置JSON提取器
在这里插入图片描述
运行一下,看下填是后置处理程序下的响应结果,可以看到id=测试工程师,提取成功了
在这里插入图片描述

结语

Jmeter就是多个元件能组成不同的场景,多用用多练练,就能搭配起不一样的场景了!写的匆忙,有写错的地方还请大家指出,一起进步!

<think>嗯,用户想了解如何使用JMeter的正则表达式提取器来提取token。首先,我需要回顾一下相关知识。根据引用[3],正则表达式提取器是后置处理器的一种,用于从取样器的响应结果中提取内容。用户需要的是具体步骤和示例。 首先,我应该列出使用步骤。根据引用[1]和[2],步骤包括添加提取器、配置参数、引用变量。然后,需要具体说明每个参数的设置,比如引用名称、正则表达式模板等。引用[4]提到变量引用的方式,所以最后要说明如何使用${token}。 接下来是示例部分。用户需要一个实际例子,比如登录接口返回的JSON中包含token。这时候正则表达式应该怎么写?比如"token":"(.*?)",这样非贪婪匹配。左右边界要明确,确保正确提取。可能需要处理多个匹配,但用户可能只需要第一个,所以模板$1$。 还要注意常见问题,比如正则表达式是否正确,是否处理了特殊字符,或者是否需要转义。引用[2]中的疑难杂症部分可以提到这些,比如左右边界不确定怎么办,或者多个值的情况。此外,可能需要建议测试正则表达式是否有效,比如使用调试取样器。 最后,生成相关问题,比如如何提取多个值,或者JSON提取器的比较,这样用户如果有进一步的问题可以继续探索。确保回答结构清晰,步骤明确,示例具体,这样用户能跟着操作。</think>### JMeter正则表达式提取器提取Token使用方法 #### 一、操作步骤 1. **添加取样器**:在需要提取Token的HTTP请求下添加取样器(如登录接口)[^3]。 2. **添加正则表达式提取器**:右键点击取样器 → 添加 → 后置处理器 → 正则表达式提取器[^1]。 3. **配置参数**: - **引用名称**:自定义变量名(如`token`) - **正则表达式**:根据响应内容编写,如`"token":"(.*?)"` - **模板**:`$1$`(表示提取第一个捕获组) - **匹配数字**:`1`(取第一个匹配项) - **缺省值**:`NOT_FOUND`(可选) ```plaintext 示例配置: 引用名称: token 正则表达式: "token":"(.*?)" 模板: $1$ 匹配数字: 1 ``` 4. **引用变量**:在后续请求中使用`${token}`调用提取值,如请求头中添加`Authorization: Bearer ${token}`[^4]。 --- #### 二、实际应用示例 **场景**:登录接口返回JSON数据: ```json {"code":200, "data":{"token":"abc123xyz"}, "msg":"success"} ``` **正则表达式配置**: - 精确匹配:`"token":"([^"]+)"` 解释:匹配双引号内的任意非引号字符 - 通用匹配:`"token":"(.*?)"` 解释:非贪婪模式匹配最短内容 --- #### 三、注意事项 1. **特殊字符转义**:若响应内容包含`\`或`"`,需使用`\`转义,如`\\"token\\":\\"(.*?)\\"` 2. **调试技巧**: - 使用`Debug Sampler`查看提取结果 - 在`View Results Tree`中检查响应数据格式 3. **性能优化**:正则表达式尽量具体,避免`.*`过度匹配[^2] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值