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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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字符串中的反斜杠\及去掉双引号前的反斜杠中有所帮助。
参考技术A <?php
$arr=array('sex'=>'男','age'=>30,'job'=>'程序猿');
$json=json_encode($arr);
$result=addslashes($json);
echo "json数据:".$json.'<br>转义结果:'.$result;

参考技术B 用addcslashes函数,$json = addcslashes($json,'"');

在php.ini里把magic_quotes_gpc设置为on时就会自动加上
再用
if(get_magic_quotes_gpc)
来判断
参考技术C stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。
参考资料:http://www.w3school.com.cn/php/func_string_stripslashes.asp本回答被提问者和网友采纳
参考技术D 通过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双引号前加上转义符\的主要内容,如果未能解决你的问题,请参考以下文章

C++语言中怎么输出双引号

shell中单引号怎么转义

php json中 数据有"双引号怎么办?

php json中 数据有"双引号怎么办?

json_encode在编码字符串时会自动加上双引号,怎么能去掉?

php中 定义变量为字符串,但字符串中有引号,怎么办?