JMeter中的自动转义处理

本文介绍了在处理JSON数据时遇到的转义问题,特别是当内部字符串包含未正确转义的双引号时,会导致解析错误。解决方案包括手动转义和使用fastjson库进行自动转义。手动转义可以通过在每个错误的双引号前添加反斜杠来完成,而fastjson提供了一个方便的方法`JSON.toJSONString()`来自动处理转义。确保在JMeter等工具中正确处理JSON数据以避免报错。
摘要由CSDN通过智能技术生成

在说转义之前先简单说下Json数据格式:

正常的Json数据是这样的:

{"msg":"密码错误!","code":60016}

但是如果遇到这样的数据:

放到JMeter里就会报错了~

原因,在Java中,字符串是以最近两个双引号为一个整体,当出现这种格式的时,双引号就“配对”错误。

解决方案1:对Json里的数据进行转义,即在错误的双引号位置加个 \ 进行转义。在线转义工具

{	
	"msg":"密码错误!",
	"code":60016,
	"data":"{\"name\":\"测试超有范\"}"
}


String b = "{\"msg\":\"密码错误!\",\"code\":60016,\"data\":\"{\"name\":\"测试超有范\"}\"}";

解决方案2:使用fastjson 提供的方法进行转义

import com.alibaba.fastjson.JSON;

//json数据在sql查询出来后,需要通过获取对象的方式得到content_json的字符串类型
String dd = vars.getObject("sd").get(0).get("content_json");

//把content_json进行转义,然后放到请求数据里,就会带有转义的 \
vars.put("requestBody",JSON.toJSONString(dd)); 

jar包:百度网盘

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值