最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

JSON.parse,位于0的JSON中的意外标记T.

运维笔记admin23浏览0评论

JSON.parse,位于0的JSON中的意外标记T.

JSON.parse,位于0的JSON中的意外标记T.

所以我有一个小的Web套接字程序从网站上提取数据。有时它每秒达到最多6个查询,当它崩溃时。我放了一个if语句来检查是否收到了请求,但它似乎不起作用。所有这些混乱的代码部分是这样的:

Request.get(url, (error, response, body) => {
                if(error) {
                    var flag = 1;
                    return console.dir(error);
                }
                if(flag == 1)
                {
                    return;
                }

                var object = JSON.parse(body);  <-- error points here
                if(!object || !object.data || !object.data.items || typeof object.data.items[0] === 'undefined')
                {
                    return;
                } ...

输出错误说明:

未定义:1 请求太多。请稍后再试。

SyntaxError:位于0的JSON中的意外标记T.

在JSON.parse() 在Request.get [as _callback](/home/pi/Desktop/BitBot/test.js:702:23) 在Request.self.callback(/home/pi/Desktop/BitBot/node_modules/request/request.js:185:22) 请求处的Request.emit(events.js:182:13)。 (/home/pi/Desktop/BitBot/node_modules/request/request.js:1161:10)在IncomingMessage的Request.emit(events.js:182:13)。 (/home/pi/Desktop/BitBot/node_modules/request/request.js:1083:12)在EndReadableNT的IncomingMessage.emit(events.js:187:15)的Object.onceWrapper(events.js:273:13) (_stream_readable.js:1094:12)

任何想法如何解决这一问题?

回答如下:

发生了什么以及为什么

当您达到远程网站设置的速率限制时,它将返回字符串“请求太多。请稍后再试”。

如您所知,这不是有效的JSON。如果您尝试使用JSON.parse()此字符串,则会出现错误。

let str = "Too many requests. Please try again later.";

console.log(JSON.parse(str));
发布评论

评论列表(0)

  1. 暂无评论