【发布时间】:2018-01-12 21:43:57
【问题描述】:
我目前正在编写一些代码来读取 WebAPI。
C:\Users\XXXX\XXXX\XXXX>node bot.js 未定义:1
SyntaxError: JSON 输入意外结束
at Object.parse (native)
at IncomingMessage.<anonymous> (C:\Users\XXXX\XXXX\XXXX\bot.js:82:20)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
这是我的代码
var http = require('http');
var options = {
host: 'backpack.tf',
port: 80,
path: '/api/IGetPrices/v4?key="personalapikey"',
method: 'GET'
};
http.request(options, function(res){
var body = '';
res.on('data', function(chunk){
body+=chunk;
});
res.on('end', function(){
var price = JSON.parse(body);
console.log(price);
});
}).end();
我对 node.js 和一般编码非常陌生。但我已经尝试过其他 3 种方法来尝试让它发挥作用。我没有想法
【问题讨论】:
-
请格式化您的代码,它真的很难阅读。
-
无论如何,
res.on('end'回调中的问题,body是无效的 json。 -
我重新格式化了,你能解释一下这是什么意思吗?
-
这意味着
body不是有效的 json 字符串(结构不正确或字符无效)。在var price = JSON.parse(body);之前添加console.log(body);并查看控制台输出。 -
只检查正文包含的内容,可能是一些错误消息,由于某种原因不是 JSON ...
标签: javascript node.js asp.net-web-api