php中怎么把json双引号前加上转义符\

如题所述

通过AJAX传到PHP的json字符串有时候加上反斜杠”\”来转义,PHP处理时需要先去掉反斜杠,然后再json_decode.

$str = stripslashes($_POST['json']);
$arr = json_decode($str,true);

PS:php get抓取json怎样去除双引号前面的反斜杠
你这个不算标准的JSON格式数据,可以先将\"替换成"即可。
再用json_decode()系统函数将其转为json对象,如需转为数组加上第二个参数为true即可。
若仍输出为NULL,是由于存在BOM头信息,

复制代码 代码如下:

$arr = json_decode(trim($json,chr(239).chr(187).chr(191)),true);

转换即可。
本文全部内容介绍完了,希望对大家在使用PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠中有所帮助。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-07
<?php
$arr=array('sex'=>'男','age'=>30,'job'=>'程序猿');
$json=json_encode($arr);
$result=addslashes($json);
echo "json数据:".$json.'<br>转义结果:'.$result;

第2个回答  2018-03-06
用addcslashes函数,$json = addcslashes($json,'"');

在php.ini里把magic_quotes_gpc设置为on时就会自动加上
再用
if(get_magic_quotes_gpc)
来判断
第3个回答  2015-06-20
stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。
参考资料:http://www.w3school.com.cn/php/func_string_stripslashes.asp本回答被提问者和网友采纳
第4个回答  2018-03-07
通过AJAX传到PHP的json字符串有时候加上反斜杠”\”来转义,PHP处理时需要先去掉反斜杠,然后再json_decode.

$str = stripslashes($_POST['json']);
$arr = json_decode($str,true);

PS:php get抓取json怎样去除双引号前面的反斜杠
你这个不算标准的JSON格式数据,可以先将\"替换成"即可。
再用json_decode()系统函数将其转为json对象,如需转为数组加上第二个参数为true即可。
若仍输出为NULL,是由于存在BOM头信息,

复制代码 代码如下:

$arr = json_decode(trim($json,chr(239).chr(187).chr(191)),true);

转换即可。
相似回答