У меня очень странная проблема.
У меня есть веб-сервис JSON.
Когда я проверяю это на этом веб-сайте http://www.freeformatter.com/json-formatter.html#ad-output
Все отлично.
Но когда я загружаю свой JSON с этим кодом:
$data = file_get_contents('http://www.mywebservice');
if(!empty($data))
{
$obj = json_decode($data);
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo ' - JSON_ERROR_NONE';
break;
case JSON_ERROR_DEPTH:
echo ' - JSON_ERROR_DEPTH';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - JSON_ERROR_STATE_MISMATCH';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - JSON_ERROR_CTRL_CHAR';
break;
case JSON_ERROR_SYNTAX:
echo "\r\n\r\n - SYNTAX ERROR \r\n\r\n";
break;
case JSON_ERROR_UTF8:
echo ' - JSON_ERROR_UTF8';
break;
default:
echo ' - Unknown erro';
break;
}
Я получил ошибку: SYNTAX ERROR
ЧТО НЕ ПОМОГАЕТ ПОЛНОМУ ВСЕМ.
Это кошмар.
Я вижу, что с PHP 5.5 я мог бы использовать эту функцию: http://php.net/manual/en/function.json-last-error-msg.php
(но мне пока не удалось установить PHP 5.5, и я не уверен, что эта функция даст мне больше деталей)