我猜里面可能有一个隐藏的角色。
JSON数据:
我正在使用this URL
进行以下回复{"请求" {"命令":"系列"" series_id":" ng.n3010us3.a& #34;},"数据":{"错误":"没有api_key。有关密钥注册,文档和示例,请参阅http://www.eia.gov/developer/"}}
我做了什么:
使用file_get_contents从网址
使用json_decode($ rawjson,TRUE);使它成为一个数组。 - > ERROR
json_last_error_message显示'语法错误'
我试图找出导致问题的角色。
答案 0 :(得分:2)
如前所述,回复包含BOM
序列
请参阅here有关字节顺序标记的更多信息。
你可以像这样删除它:
$j = file_get_contents("http://api.eia.gov/series/?api_key=&series_id=NG.N3010US3.A");
$o = json_decode(remove_bom($j));
var_dump($o);
function remove_bom($string)
{
$bom = pack('H*','EFBBBF');
$text = preg_replace("/^$bom/", '', $text);
return $sring;
}