{ response = JSON.parse(data); }); 我需要解析这个响应,但是......我-6ren">
gpt4 book ai didi

JAVASCRIPT JSON.parse() 返回意外的 JSON 输入结束

转载 作者:行者123 更新时间:2023-12-04 03:36:17 24 4
gpt4 key购买 nike

我收到来自服务的响应,使用 https

rest.on("data", data => {
response = JSON.parse(data);
});
我需要解析这个响应,但是......我知道最终结果应该是(我通过 postman 得到的)......
{ "code": 200,
"msg": "",
"data": [
{
"id": "t4ba",
"devData": {
"id": "bb2as",
"state": "OK"
},
"entries": {
"2019-05-26T19:03:13.9260000": 15,
"2019-05-26T19:03:29.1690000": 26,
"2019-05-26T19:04:16.6880000": 65
}
},
{
"id": "t4ba-2",
"devData": {
"id": "bb2as",
"state": "Underperformance"
},
"entries": {
"2019-05-26T19:03:13.9260000": 25,
"2019-05-26T19:03:29.1690000": 45,
"2019-05-26T19:04:16.6880000": 32
}
}
],
"dateResponse": "2021-03-26T19:04:16.6880000" }
当我跑 JSON.parse(数据)
我收到这个错误

"errorType": "SyntaxError","errorMessage": "Unexpected end of JSON input","trace": ["SyntaxError: Unexpected end of JSON input"," at JSON.parse ()"," at IncomingMessage. (/var/task/index.js:47:23)"," at IncomingMessage.emit (events.js:315:20)"," at IncomingMessage.EventEmitter.emit (domain.js:467:12)"," at IncomingMessage.Readable.read (internal/streams/readable.js:519:10)"," at flow (internal/streams/readable.js:992:34)"," at resume_ (internal/streams/readable.js:973:3)"," at processTicksAndRejections (internal/process/task_queues.js:80:21)"]


我认为“数据数组”字段是问题所在,我不知道如何解决。
当我收到带有空数据的响应时:[],一切正常。

最佳答案

嗯……答案很简单……
开始吧:::::
首先,看起来您从服务中获得了大量数据...
在 response.on("数据"
一开始数据不完整,所以,.on("data""重复自己"从init到结束,那么你的数据就完整了......
代码

res.on("data", data => {
someVariable += data;
});
然后......在你的 .on("end"
rest.on("end", () => {
MyJSON = JSON.parse(someVariable);
});
这就是所有的人。

关于JAVASCRIPT JSON.parse() 返回意外的 JSON 输入结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66826124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com