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

如何移除JMeter请求体中变量替换后自动添加的多余引号

JMeter POST请求变量替换多余双引号解决方案

你遇到的变量替换后自动新增双引号的问题,是JMeter处理JSON格式请求体时,默认对识别为字符串类型的变量自动添加引号导致的,可通过以下方案解决:

方案1:使用__raw()函数包裹变量(最便捷)

__raw()函数会强制JMeter输出变量的原始值,不做额外的引号拼接或转义处理,直接修改Body Data内容即可:

{"query": "{getSingleArticle(id: ${__raw(${art_id})}){MatlDesc, ClassDesc}}"}

方案2:将变量显式转为数值类型

如果变量本身是数值格式,可通过JSR223 PreProcessor提前把变量转换为数值类型,JMeter不会给数值类型的变量自动加引号:

  • 对应HTTP请求下新增JSR223 PreProcessor
  • 写入如下Groovy代码:
vars.putObject("art_id_num", Long.parseLong(vars.get("art_id").replace("\"", "")))
  • 把Body Data中的${art_id}替换为${art_id_num}

方案3:关闭JSON自动格式化配置

较新版本JMeter会默认对JSON格式的请求体做自动格式化,可通过以下配置关闭该逻辑:

  • 打开HTTP Request Sampler配置页,切换到「Advanced」标签
  • Client implementation选择Java选项,即可禁用默认的JSON自动加引号逻辑
    修改完成后可通过「察看结果树」的Request标签页,验证实际发送的请求是否已去掉多余双引号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:36:03