Json returns 空值

Json returns null value

我想从 Carquery API 获取 Json 数据。但是 none 我的代码有效。

首先,我尝试使用 curl 获取数据。这是我的代码

    $loginUrl = 'http://www.carqueryapi.com/api/0.3/?callback=?&cmd=getTrims&year=2015';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL,$loginUrl);
    $result=curl_exec($ch);
    curl_close($ch);
    var_dump(json_decode($result));

返回空值。然后我尝试使用 file_get_content。这是我的代码:

$json = file_get_contents('http://www.carqueryapi.com/api/0.3/?callback=?&cmd=getTrims&year=2015');
$obj = json_decode($json);
var_dump($obj);

不幸的是,它也没有用。

有什么帮助吗?

首先试试这个:

    $loginUrl = 'http://www.carqueryapi.com/api/0.3/?callback=?&cmd=getTrims&year=2015';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL,$loginUrl);
    $result=curl_exec($ch);
if($result === false)
{
    echo 'Curl error: ' . curl_error($ch);
}
else
{
    var_dump(json_decode($result));
}
    curl_close($ch);

所以你可以看到 curl 请求中的任何错误。

和 url 的第二件事: 'http://www.carqueryapi.com/api/0.3/?callback=?&cmd=getTrims&year=2015'

你确定必须是 2(二)?(问号)?

json 来自 API 的数据 return 不正确,我尝试使用 jsonlint.com 来检查它。

如果从

中删除回调部分

'http://www.carqueryapi.com/api/0.3/?callback=?&cmd=getTrims&year=2015';

进入

'http://www.carqueryapi.com/api/0.3/?cmd=getTrims&year=2015';

它将产生正确的 json 并且可以使用 file_get_content() 或 curl 进行解析。