所以我有这个api:http://85.17.32.4:8707/status-json.xsl
我想从中提取一些东西,所以我开始非常基本:
<?php echo json_decode('http://85.17.32.4:8707/status-json.xsl');
绝对没有结果。接下来尝试:
<?php
$var = json_decode('http://85.17.32.4:8707/status-json.xsl');
var_dump($var);
它刚刚回来NULL
。
然后我尝试制作一个cURL函数:
<?php
$url = 'http://85.17.32.4:8707/status-json.xsl';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
curl_close($ch);
var_dump(json_decode($result, true));
这也返回NULL。我还有其他选择吗?
感谢。
答案 0 :(得分:2)
是的,您还有其他选择:检查json_last_error_msg
并查看json解码是否存在问题:
$json = json_decode($result, true);
# check if there has been an error decoding:
if (! isset($json)) {
echo "Decoding error: " . json_last_error_msg() . PHP_EOL;
}
输出:
Decoding error: Syntax error
即。 JSON中存在语法错误。您需要告诉JSON提供程序他们没有提供有效的JSON。