Nodejs 语法错误意外令牌 JSON 在位置 0

问题描述 投票:0回答:2

我正在尝试从我的应用程序的 keepa api 获取数据,

我的请求的状态代码是 200,但我在每个请求的位置 0 处收到语法错误意外令牌 JSON。

response.on("data", function(data){

const asinData = JSON.parse(data);

console.log(asinData);

res.send();
});
node.js json api syntax
2个回答
0
投票

你能打印这个“数据”吗?估计里面有错误。我认为“data”是一个“serverResponse”对象,“serverResponse.data”是您想在那里看到的内容,尝试console.log它。


0
投票

响应对象是否来自 http 核心模块 get() 方法?如果是这样,这可能会有所帮助:https://nodejs.org/api/http.html#http_http_get_options_callback

基本上,您获得的响应对象是一个 http.IncomingMessage 实例,它是一个可读的流。该对象上的 data 事件不是在响应主体被完全接收时触发,而是在每次响应主体的一小部分(一大块)被接收时触发。在尝试将其解析为 JavaScript 对象之前,您需要将所有这些块聚合为单个数据。

此外,请注意默认情况下块是作为缓冲区发出的,而不是作为字符串发出的。您可以通过在开始读取块之前设置流编码来将流设置为发出字符串。

© www.soinside.com 2019 - 2024. All rights reserved.