使用php从json url获取数据


Get the data from json url using php?

这是一个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;
}