Перейти к публикации
toryus

Ошибка парсера на API BTC-e

Рекомендованные сообщения

Всем привет! 

Скрипт получает и обрабатывает JSON строку с API BTC-e.

JSON строка не парсится в JavaScript. Я могу ее получить, вывести в браузер, но парсер выдает ошибку.
Интересно, что PHP-шный парсер ее парсит без проблем. Я даже могу ее снять с экрана, скопипастить и ее копия парсится и принимается регулярными функциями! Но сам оригинал, который приходит с AJAX - вызывает ошибку. Кто шарит в JSON, помогите.
фрагмент кода JavaScript
	var result = document.getElementById('res');
	var jsontext=httpRequest.responseText;
	var regexp = /\"/g;			    //  тут возможны разные варианты
	var jsontext= jsontext.replace(/"/g, "'");  //  регулярных выражений, никакие не работают
	alert(jsontext);			    //	заметил, что кавычки в оригинальной строке представлены как ", а в копии той же строки или ее части как ""
	var jsonobj = JSON.parse(jsontext);         //	оригинал строки вызывает ошибку Syntax error: unexpected character 
													
	result.innerHTML = jsontext;		    //	строка выводится в броузер

изначально строка получается вызовом file_get_contents($URL,...) в PHP.

Потом 2 варианта:

- парсер PHP,- работает;

- AJAX => парсер JS - не работает;

На рисунках 

1 - вид строки в alert();

2 - вид строки в браузере;

3 - ошибки JSON.

 

 

post-47128-0-48997200-1489679431_thumb.png

post-47128-0-72335500-1489680153_thumb.png

post-47128-0-89174900-1489680221_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

PHP код покажи, у тебя где-то htmlspecialchars срабатывает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

PHP код покажи, у тебя где-то htmlspecialchars срабатывает

   protected function retrieveJSON($URL) {
        $opts = array('http' =>
            array(
                'method'  => 'GET',
                'timeout' => 10 
            )
        );
        $context  = stream_context_create($opts);
        $feed = file_get_contents($URL, false, $context);
        $json = json_decode($feed, true);
        return $json;
    }
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а, точно, там дальше  есть такое! Спасибо, друг! щас буду лопатить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×