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

JMeter调用Java REST PUT接口遇反序列化错误求助

解决JMeter调用Java REST PUT接口时Jackson反序列化失败问题

最近做接口压测时碰到个头疼的问题:我需要用JMeter读取CSV文件的数据调用Java写的REST PUT接口,CSV配置和请求都搭好了,但Java端一直报反序列化错误。不过用Postman手动传下面这段JSON是完全正常的:

{ "productId": "ABC", "score": 4.42489 }

踩过的坑

  1. 一开始我在请求体里直接写$score引用CSV里的分数字段,结果Java端直接抛了这个错:

    com.fasterxml.jackson.databind.exc.InvalidFormatException: 无法从字符串'$score'构造double实例
    

    这明显是JMeter没识别出变量,直接把$score当字符串传给接口了,Jackson自然没法把它转成double类型。

  2. 后来改成JMeter标准的变量引用格式${productId}和${score},结果又出现了4个同类的解析错误:

    com.fasterxml.jackson.core.JsonParseException: 意外字符'T'
    

    这说明生成的JSON格式出了问题,大概率是CSV读取时的配置不对——比如分隔符不匹配、字段没处理好,导致变量替换后JSON语法错乱了。

最终解决办法

最后通过调整CSV Data Set Configuration的参数解决了问题,给大家提几个要重点检查的配置项:

  • 确认分隔符和你CSV文件实际用的一致(比如逗号、制表符,别搞错了)
  • 如果CSV里有带引号的字段,一定要勾选Allow quoted data
  • 检查Variable Names的命名/顺序是否和CSV的列完全对应
  • 根据你的测试场景调整Recycle on EOF和Stop thread on EOF的设置

感谢@user7294900的提示,帮我快速定位到了配置上的问题!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:12:27