Итак, у меня есть этот 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. У меня есть еще варианты?
Благодарю.
Да, у вас есть другие варианты: проверьте 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.
Других решений пока нет …