@source2003

Почему очень часто вылетает ошибка Unexpected token in JSON?

Unexpected token : in JSON at position 2539.
Позиции всегда разные, символы тоже бывают разные.

Суть в том, что работает скрипт, который очень часто обращается к Api одного сайта, и примерно в 5% запросов приходит такая ошибка, причём если отправить абсолютно такой же запрос еще раз, ошибки не будет.
var options = {
                    host: 'example.com',
                    path: '/path'
                };

                var request = http.get(options, function(res) {
                    let rawData = '';
                    res.on('data', (chunk) => rawData += chunk);
                    res.on('end', () => {
                        try {
                            let parsedData = JSON.parse(rawData);
                        } catch (e) {
                            console.log(e.message);
                        }
                    });
                });


Ошибка, ловится в catch(e)
  • Вопрос задан
  • 179 просмотров
Пригласить эксперта
Ответы на вопрос 2
mannaro
@mannaro
Умею профессионально гуглить
Возвращается не валидный JSON.
Ответ написан
Lynn
@Lynn
nginx, js, css
Примерно так
var request = http.get(options, function(res) {
                    let rawData = [];
                    res.on('data', (chunk) => rawData.push(chunk));
                    res.on('end', () => {
                        rawData = Buffer.concat(rawData).toString();
                        try {
                            let parsedData = JSON.parse(rawData);
                        } catch (e) {
                            console.log(e.message);
                        }
                    });
                });
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы