为什么数据解析失败?
问题描述:
我正在写一个Node.js服务器,我试图从API中获取数据并将其返回给我的用户。我正在采取insightlyResponse
并尝试转换为JSON。这是我的代码:为什么数据解析失败?
insightlyResponse.setEncoding('utf8');
let rawData = '';
insightlyResponse.on('data', (chunk) => rawData += chunk);
insightlyResponse.on('end',() => {
try {
const parsedData = JSON.parse(rawData);
responseData = "PARSED";
} catch (e) {
responseData = `Got error: ${e.message}`
}
response.end(responseData);
});
错误是Got error: Unexpected token \u001f in JSON at position 0
。这是什么意思,我做错了什么?
答
想通了!我仔细检查了API并意识到它可以返回压缩的响应。关掉那个设置并且像魅力一样工作!
“试图转换为JSON”我想你的意思是“试图转换_from_ JSON”。 'rawData'中有什么?大概不是JSON。 – smarx
@smarx我正在如下:https://*.com/questions/11826384/calling-a-json-api-with-node-js –
如果我不解析并按原样离开,我会得到一堆乱码,如果我解析我得到一个错误。 –