怎么能让json_decode解析带斜杠的字符串

比如前台一个js object:
{
  aa: "cc\dd"
}
$d = ‘{\"aa\": \"cc\\dd\"}‘;
这时候用 json_decode($d, true) 会返回NULL, 如果用stripslashes 处理的话,斜杠都没了,会变成 aa: ccdd
怎么能支持带 \ 的decode。。
谢谢。

------回答---------

------其他回答(100分)---------

"\\" 在浏览器中输出的时候就被解析为\
建议楼主在前台把"aa": "cc\dd" 改成"aa": "cc\\dd"
这样接受到的就是‘{\"aa\": \"cc\\\\dd\"}‘
然后可能要借助一个json类 网上下一个 代码太长 就不贴了

PHP code

<?php
include(‘json.class.php‘);
$json_str =‘{\"aa\": \"cc\\\\dd\"}‘;
$json = new MY_JSON();
$json_str = stripslashes($json_str);
var_dump($json->decode($json_str));//array
‘aa‘ => string ‘cc\dd‘ (length=5)
?>

或者楼主可以选择在传递时对链接 encodeURI()进行编码
或者对内容encodeURIComponent()进行编码 

时间: 2024-10-18 12:17:15

怎么能让json_decode解析带斜杠的字符串的相关文章

用cp命令拷贝文件,源目录后带不带斜杠的区别

当我还是Linux超级傻白的时候,需要拷贝一个很大的数据集,然后再拷贝源文件夹的后面跟了一个前倾斜杠,然后就发现居然拷贝的是整个文件夹里的东西,而不是文件夹本身.事儿倒是不大,我重新建一个文件夹,把这些东西挪进去就行了.后来,等我记住这一招后,发现有的时候居然也不是这样.于是,做做实验,干脆搞搞清楚. 两个文件夹,各自内容如下: 使用命令cp –R dir_src/ dir_target后,结果如下: 重做一遍,使用cp –R dir_src dir_target后,结果如下: 于是我就记住了这

json_decode 解析带BOM头文件错误

1 //取前三个字符 并转化为ASCII 判断是否为BOM文件 2 3 $charset[1] = substr($result, 0, 1); 4 $charset[2] = substr($result, 1, 1); 5 $charset[3] = substr($result, 2, 1); 6 if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && 7 ord($charset[3]) == 191) {

POST对URL中末尾斜杠的差异

在调试一个接口,php的,文件名是index.php,放在目录/checkmail/下. 访问时的url写的是/checkmail,调用时用的是JQuery的post方法. 开始发现,被调用时检查传入的参数没有传过来. 跟踪了传过来的所有参数,发现$_SERVER['REQUEST_METHOD']得到是GET. 明明是POST调用的,为什么得到的是GET呢? 先百度了一下,没找到答案. 于是各种尝试,最后在调用的url中,把反斜杠/加上,发现参数得到了. 也就是说,/checkmail 和 /

URL中斜杠/和反斜杠\的区别小结

./SRC/  这样写表示,当前目录中的SRC文件夹: ../SRC/  这样写表示,当前目录的上一层目录中SRC文件夹: /SRC/   这样写表示,项目根目录(可以只磁盘根目录,也可以指项目根目录,具体根据实际情况而定) Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符. Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符.所以目前windows系统上的文

URL结尾反斜杠对SEO的影响(转)

开始纠结网站URL加不加反斜杠对SEO的影响,还有些人把这个反斜杠说的神乎其神,我擦,本人手贱百度了一下,果然“博大精深”,敬请参考! 从百度站长平台的外链分析里,我们可以看到,一些目录结构的URL,搜索引擎是识别其带反斜杠和不带反斜杠的.以SEOWHY为例子,它分别统计了 www.seowhy.com/bbs 和 www.seowhy.com/bbs/ 的外链数.这说明,带不带反斜杠,在搜索引擎看到是不同的URL.至于你的情况,要不要统一加上反斜杠,我觉得你可以分析下在百度站长平台里的外链,看

nginx url自动加斜杠问题

一.首先对比说明Nginx以下两个现象: 1. 访问的uri最后带斜杠 http://localhost/product/    >>>>  查找 product下的index页面,存在就返回:不存在且未开启自动索引目录选项(指令是:autoindex on),则报403错误 2. 访问的uri最后不带斜杠 http://localhost/product     >>>>  查找product文件,存在就返回:若存在product的文件夹,会产生301跳转

java 删除字符串中的反斜杠\

Java中有时候会打印出来会含有反斜杠(\)的字符串,我们需要删除时,可以使用 replace() 或 replaceAll() 但是要注意的是replaceAll()里面用的是正则表达式,所以一个斜扛要写4个,即在这个函数里,\\\\代表\(是个反斜杠代表打印出的一个斜杠) 用str.replaceAll( “\\\\”,  “”);就实现了消除str中的所有反斜杠.

问题处理:php json_decode函数处理的字符串中含有反斜杠“\”时,处理出错,返回的结果为NULL

php json_decode函数处理的字符串中含有反斜杠“\”时,处理出错,返回的结果为NULL. 处理方法,将字符串中的反斜杠1个替换成2个: /** * 一个反斜杠要替换成4个,否则json_decode不能解析 */ $json_str = str_replace('\\','\\\\',$json_str); $json = json_decode($json_str,true);

httpd 不带反斜杠 出现 301重定向

你看到的这个文章来自于http://www.cnblogs.com/ayanmw [[email protected]_64_69_centos httpd]# curl http://localhost:9001/pay <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved Permanently</title> &l