Jump to content
Sign in to follow this  
toryus

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

Recommended Posts

Всем привет! 

Скрипт получает и обрабатывает 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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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;
    }
 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...