问题描述:在进行接口测试时,出现了一个问题,json格式错误,前端在接口传的其中一个参数是一个字符串,此字符串就是一个json格式的数据,此参数需要在后台执行相对应的业务,业务需要的就是一个json格式的数据,但是在测试接口的时候发现,json格式错误,也就是此业务在执行时无法解析传过来的json数据。
寻找问题:之后发现问题,接口使用的@RequestBody来接收前端传送过来的数据,那些数据是json格式的,也就是说那个参数外面还包裹着一层json格式需要的双引号,参数里面的json自然就成了单引号,所以后台无法解析此数据。
前端发送过来的数据(json格式):
"params":"{'code':'123456'}"
解决问题:在我获取到前端传送过来的此参数之后,进行如下操作(将单引号全部替换为双引号):
String p = params.replaceAll("'", String.valueOf((char) 34));
之后就可以看到运行成功了。。。。。。