首页 >后端开发 >php教程 >json 数据返回 ,json_decode 之后为空

json 数据返回 ,json_decode 之后为空

WBOY
WBOY原创
2016-06-23 14:39:441394浏览

http://zhidao.baidu.com/link?url=kEYMQrLi41ZyC3Yo5XoN_QEbUentL2yVvcUg3seg_ZVksV2w5KBMudlQomrizXZiEoe3Uz0xtp7Moj9nRLBLNK

我遇到的问题跟他的差不多

调用app接口,然后php接受返回json串(验证之后格式正确):返回的数据跟实际字符不相符(多三个字符),
然后把php端改成 json头 还是不管用
app返回的:
string(121) "?{"errorCode":"0","errorMsg":"success","responseData":{"uid":"36","sender_uid":"37","error":"0","error_msg":"success"}}"
json_decode ->NULL
复制到文件中的:
string(118) "{"errorCode":"0","errorMsg":"success","responseData":{"uid":"36","sender_uid":"37","error":"0","error_msg":"success"}}"


回复讨论(解决方案)

BOM头的原因吧

多的三个字符是 BOM 头,去掉就可以了
比如接收到的在 $s 中,则
$a = json_decode(substr($s, 3));

多的三个字符是 BOM 头,去掉就可以了
比如接收到的在 $s 中,则
$a = json_decode(substr($s, 3));
明天去公司了试一下

多的三个字符是 BOM 头,去掉就可以了
比如接收到的在 $s 中,则
$a = json_decode(substr($s, 3));

用了百度推送了,又找了好几个小时,原来百度一个文件带bom头,蛋疼死了!!!谢谢了

BOM头的原因吧
好了,谢谢呀


推荐一个JSON格式化工具,JSON校验工具, http://www.sojson.com

无广告加载快的工具

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn