JSON字符串传到后台PHP处理问题的解决方法
author:一佰互联 2019-04-27   click:167

在项目开发的时候由于涉及到批量记录数组的传入,由于字段多,所以不可能能用普通的方式&a=322&=gsd&v=rwe 这样去传送,所以想到了前端传JSON格式过去content=[{"a":2321,"b":"gsd","c":"dww"},{"a":"4sd","b":"gsd2","c":"dww3"},.....] , 这样的话多条记录后台解析也很方便,但我这么传的时候后台收到的是 [{"a":2321,"b":"gsd","c":"dww"}...] 这样的格式,而我需要的标准的JSON格式的字符串,利用PHP的json_decode 解析后直接转换成数组,这样我就好操作,到网上搜索了很多同学也遇到了和我一样的问题,找了半天最好都还是没找到答案,最后还是自己整出来了,stripslashes 用PHP中的这个函数,把获取的JSON字符串转换一下就OK了,

其实这个问题是由 get_magic_quotes_gpc() 函数引起的,如果php.ini 中的配置为 off 应该就没这个问题,所以利用这个函数的时候加上判断

//$json 为接收的JSON字符串
if(get_magic_quotes_gpc()==1){
  $json = stripslashes($json);
}

说句多余的话,俩年没整PHP了,都忘光了,最近项目需要又得翻手册了