file_get_contents获取json数据后json_decode无法识别的原因

遇到一个很奇怪的问题:通过file_get_contents获取json数据后赋值给变量$data,然后再用json_decode去解析$data,却怎么也解析不出数据来,得到结果是null,当手动复制file_get_contents获取的json字符串却又能正常被json_decode解析!! 真的很奇怪!

于是百度发现如下原因:

file_get_contents得到json数据可能包含BOM头不可见字符,按如下方式处理即可

//$data 为file_get_contents得到的数据
$data = json_decode(trim($data,chr(239).chr(187).chr(191)),true);

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注