Node.js JSON.parse意外令牌错误

最后发布: 2015-05-26 06:02:08


问题

我必须在其他站点中导入Json url的内容。 (其内容几乎超过10万)

我在这里使用的代码(我使用requset下载josn文件,使用mongodb保存数据)

request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
var content = JSON.parse(body);
    // ....
    }
})

一切正常,但在50K内容被删除后出现此错误

SyntaxError: Unexpected token <
    at Object.parse (native)
    at Request._callback (/home/app/app.js:58:30)
    at Request.self.callback (/home/app/node_modules/request/request.js:360:22)
    at Request.emit (events.js:98:17)
    at Request.<anonymous> (/home/app/node_modules/request/request.js:1202:14)
    at Request.emit (events.js:117:20)
    at IncomingMessage.<anonymous> (/home/app/node_modules/request/request.js:1150:12)
    at IncomingMessage.emit (events.js:117:20)
    at _stream_readable.js:944:16
    at process._tickCallback (node.js:448:13)

如果告诉我我错了,我将不胜感激。

node.js
回答

JSON文件的来源是什么? 它可靠吗? 查看正在解析的JSON-“ <”对于JSON非常不常见,因此可能无法正确转义。

我还将在您的JSON.parse(body)周围放置一条try { } catch(e) { }语句;