file_get_contents返回带有额外意外字符的json

时间:2013-11-28 20:53:29

标签: php json

我刚注意到我的代码有一个奇怪的结果:

$data = @file_get_contents($url);  //gets json format from API
return $data;

它会在第一个{前面和最后一个}之后返回一个随机字符 因此,我不能使用json_decode(),因为json现在因为额外的字符而无效。

我检查了实际的api url,但没有那些随机字符 为什么会发生这种情况?

注意:有时甚至会返回带有白色问号的黑色钻石。


我正在从Steam社区阅读API。


我试图找到导致问题的代码时,我通过临时修复进行了即兴修复。

$data = substr($data, 1, -1);

1 个答案:

答案 0 :(得分:0)

好像你有一个字符编码问题。

api-request的响应头:

Content-Type: application/json; charset=UTF-8 
Content-Encoding: gzip  

请查看同等问题here