繁体   English   中英

JSON.parse 处的 JSON 输入意外结束(<anonymous> )</anonymous>

[英]Unexpected end of JSON input at JSON.parse (<anonymous>)

下面是用我的 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', ...是 ZF7B44CFFAFD5C52223D5498196C8A2E7BZ 这意味着您可能还没有完整的 json object,这也意味着您应该尝试解析部分响应。在on('data', ...中收集 json 块,然后在响应完成时解析 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)
  })
})

https.get 的响应已经是 JSON object,你不需要解析它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM