You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JMeter中使用JSON Extractor将API响应作为变量传入另一API?

在JMeter中使用JSON Extractor传递API响应变量到另一个API

步骤1:给第一个API请求添加JSON Extractor

右键你的第一个API请求 → 依次选择 添加 → 后置处理器 → JSON Extractor,然后配置核心参数:

  • 引用名称:自定义变量名,比如target_user_id(后续调用全靠这个名字,别写错)
  • JSON Path表达式:根据API响应的JSON结构编写,比如要提取data.user.id,就写$.data.user.id($代表JSON根节点)
  • 匹配数字:填1(取第一个匹配结果,绝大多数场景适用;如果要提取所有匹配值,填-1,变量会变成数组形式target_user_id_1、target_user_id_2)
  • 默认值:比如null或-1(提取失败时返回这个值,方便排查问题)

步骤2:在第二个API请求中调用变量

根据第二个API的需求场景,直接用${引用名称}的格式插入变量:

  • URL参数:比如第二个API的URL是/api/orders?user_id=${target_user_id}
  • 请求体(JSON格式):示例:
    {
      "user_id": "${target_user_id}",
      "status": "active"
    }
    
  • 请求头/其他位置:直接在对应输入框中写入${target_user_id}即可

实际场景示例

假设第一个API的响应JSON如下:

{
"code": 200,
"data": {
"user": {
"id": 1001,
"username": "pranjal_k"
}
}
}
你需要提取user.id传给第二个API,那么JSON Extractor的配置为:

  • 引用名称:user_id
  • JSON Path表达式:$.data.user.id
  • 匹配数字:1
  • 默认值:-1

然后第二个API的URL可以写成https://your-api-domain.com/api/user/orders?user_id=${user_id},JMeter会自动把${user_id}替换成提取到的1001。

常见问题排查

  • 变量没替换?先检查第一个请求的响应是否符合预期,然后在查看结果树中切换到JSON Extractor标签,确认是否成功提取到值
  • JSON Path报错?用查看结果树里的JSON Path Tester功能,把响应JSON和表达式放进去测试,验证表达式正确性
  • 变量名不生效?JMeter变量名大小写敏感,确保调用时的名称和JSON Extractor里的引用名称完全一致

内容的提问来源于stack exchange,提问作者Pranjal Kulshreshtha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 14:30:09