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

如何在JMeter中从CSV获取完整JSON请求体并正确发送

解决JMeter读取CSV中转义JSON作为请求体的问题

方案一:修改CSV文件格式(推荐)

直接调整CSV内容,去掉外层包裹的双引号和内部的转义双引号,让每个JSON单独占一行:

{"data":{"student":{"name":"random name"}}}
{"data":{"student":{"name":"random name2"}}}

之后在CSV数据集配置里将变量名设为body,请求体直接引用${body}即可。同时记得在请求头管理器中添加Content-Type: application/json,确保服务器识别请求体格式。

方案二:在JMeter中处理转义字符串(无法修改CSV时)

如果不能改动原CSV文件,通过JMeter内置函数或Groovy脚本清理转义内容:

  • 字符串替换+截取组合:
    在请求体中用以下表达式替代${body}:
    ${__substring(${__strReplace(${body},\"\"\",\"\",)},1,-1)}
    
    逻辑:先用__strReplace把所有""替换为",再用__substring去掉首尾的外层双引号。
  • Groovy脚本(更简洁可靠):
    请求体中使用Groovy函数处理:
    ${__groovy(vars.get("body").replaceAll('""','"').replaceAll(/^"|"$/,''),)}
    
    逻辑:通过Groovy脚本先替换转义双引号,再移除字符串首尾的包裹引号,直接得到纯净的JSON内容。

关键注意点

必须在请求头管理器中添加Content-Type: application/json,否则即使请求体内容正确,服务器也可能将其当作普通字符串解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 13:03:24