javascript - JSON.parse 处的 JSON 输入意外结束()
问题描述
下面是用我的 get 方法编写的代码。我不知道为什么我会遇到这个问题。如何解决,请提供一些代码。
app.get("/",function(req,res)
{
const url = "https://jsonplaceholder.typicode.com/users"
https.get(url,function(response)
{
console.log(response.statusCode);
response.on("data",function(data)
{
const apidata = JSON.parse(data)
console.log(apidata)
})
})
})
解决方案
您正面临这个问题,因为response.on('data', ...
它是一个流,这意味着您可能还没有完整的 json 对象,这也意味着您正在尝试解析部分响应。您应该收集 json 块,on('data', ...
然后在响应完成时解析 json。像这样的东西:
https.get(url, function(response){
console.log(response.statusCode);
let rawData = ''
response.on("data", function(data){
rawData = `${rawData}${data}`
})
response.on("end", function() {
const apidata = JSON.parse(rawData)
console.log(apidata)
})
})
推荐阅读
- c - 在 `#if` 宏上将预定义的值作为浮点数(或字符串)询问
- javascript - userCodeAppPanel:18 未捕获的类型错误:无法设置 null 的属性(设置“值”)
- python - 如何从 python 数据集中的特定列中删除标点符号?
- java - Mockito 在 java 8 中运行,但在 java 11 中给出未完成的存根错误
- amazon-web-services - 通过 UDP 中的 Gstreamer 将网络摄像头连接到 Kinesis Video Stream
- xpath - 访问引用另一个名称 XPath 的元素
- reactjs - onClick() 事件适用于一个 div,但不适用于另一个。为什么?
- typescript - 在 fp-ts 中,如何组合 2 个(或更多)Ord 实例
- python - 在 Python 3 中定义函数:返回 None 值
- iterator - 在 Julia 中从向量生成所有无序对