当服务器返回一些数据时需要返回一些地址,但是默认的json_code是会对 / 转义成 \/ 的处理。。。
解决办法:
1. 正则替换: echo
str_replace
(
"\\/"
,
"/"
, json_encode(
"2013/4/21"
));
2. 若是php版本是5.4的话: echo
json_encode(
"2011/7/11"
, JSON_UNESCAPED_SLASHES);
php格式化json的函数@json_encode($value,$options)
其中有2个比较常用到的参数:
JSON_UNESCAPED_UNICODE(中文不转为unicode ,对应的数字 256)
JSON_UNESCAPED_SLASHES (不转义反斜杠,对应的数字 64
)
通常json_encode只能传入一个常量,如果同时使用2个常量怎么办?
JSON_UNESCAPED_UNICODE + JSON_UNESCAPED_SLASHES = 320
使用方法:json_encode($arr,320);即可完成同时使用2个常量。
例如:
<?php
$arr = array(‘key‘=>‘中文/同时生效‘);
json_encode($arr,320);
结果: