这是一个json api: https://jobs.github.com/positions.json?description=java&page=1我想从这个url获取数据。
<?php
$url = file_get_contents('https://jobs.github.com/positions.json?description=java&page=1');
var_dump(json_decode($url,true)); ?>
此代码返回null我还检查了json验证器中的url: http://jsonformatter.curiousconcept.com/json是有效的,但我无法从这个url获取数据,请帮助我…
尝试这个脚本来确定问题是什么。如果没有安装JSON模块(参见@julian评论),您可以尝试使用PHP实现JSON,如下所示:http://pear.php.net/pepr/pepr-proposal-show.php?id=198
if (! extension_loaded('json')) {
echo 'Module JSON not available!';
exit();
}
$url = file_get_contents('https://jobs.github.com/positions.json?description=java&page=1');
$data = json_decode($url,true);
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo ' - No errors';
break;
case JSON_ERROR_DEPTH:
echo ' - Maximum stack depth exceeded';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - Underflow or the modes mismatch';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Unexpected control character found';
break;
case JSON_ERROR_SYNTAX:
echo ' - Syntax error, malformed JSON';
break;
case JSON_ERROR_UTF8:
echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
break;
default:
echo ' - Unknown error';
break;
}