赞
踩
PHP中json_decode()json格式接口的问题
首先
$json = file_get_contents('http://127.0.0.1/index.php?r=index/test');
echo $json;//这里是返回的正确的json格式,是双引号,UTF8无BOM格式,也没有转义字符,PHP也是5.4的版本
$json = json_decode($json,true);
//解码就null了
原因:file_get_contents()得到的数据前面有三个看不到的字符(无BOM 也是没用的),所以只要将得到的字符串,substr($str,3)就行了
$json = substr($json,3);
注意,linux下不需要截取。
以下是转载其他朋友在json_decode()时的一些情况和解决方法
http://www.blogjava.net/vagasnail/archive/2012/02/21/370400.html
json_decode有两个参数,第一个是待解析的字符串,第二个是是否解析为Array
该函数要求的字符串比较严格:
(1)使用UTF-8编码
(2)不能在最后元素有逗号
(3)不能使用单引号
(4)不能有\r,\t,如果有请替换
。。。。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。