调试脚本时,提交接口传的参数是一串作答记录的json串(json串是fiddler抓包所得)运行时一直失败,提示json格式错误:

但是把传参的json串拿到JSON在线解析及格式化验证 - JSON.cn里是可以正常转义解析出来的,因为传参里有好几个地方做的参数化,所以一开始觉得可能是参数化的时候手抖破坏了格式,但是找了半天发现该有的{} () : , 都是正确的,后来找前端研发人员一起看,最终发现是\\\的问题!

可以看到参数里存在很多\\\,将\\\替换成\后就可以成功运行了!
正常传参时会对参数里的"进行转义\,但是fiddler又会对\进行再转义,转来转去,后端接口就不认了。。如果用jmeter录制,也会存在这个问题,即使在json.cn里可以正常展示,但是那也是经过转义以后的,后端拿到的json串不会进行反复转义的操作,所以遇到\\\时就会不识别。
在使用JMeter进行接口压力测试时,遇到JSON parse错误,提示'Unexpected character (‘i‘ (code 105))'。经过检查,发现参数中的JSON字符串在含有多个反斜杠(\)的情况下导致解析失败。通过将反斜杠替换为单个反斜杠(),问题得到解决,确保了接口能够正确识别和处理JSON数据。
1万+

被折叠的 条评论
为什么被折叠?



