错误:语法错误:JSON输入意外结束

馅饼板凳

我正在尝试使用以下代码从api网站获取JSON文件,但是当我使用以下代码获取时,出现错误消息“ JSON输入意外结束”

var express = require("express");
var app = express();
var body = require("body-parser");
var https = require("https");

app.get("/results", function (req, res) {
    https.get("https://www.omdbapi.com/?apikey=d49698c3&s=harry", function (response) {       

            response.on("data", function (data) {
                var got = JSON.parse(data);
                res.send(got.Title);
            })
    })
});
麦斯特·圣

您的代码中有两个错误的假设。

1-查看数据,您可以看到属性TitleSearch属性中的每个单个对象中,该属性为Array,因此当JSON正确解析时,您将遇到问题got.Title

2-可以多次调用对象响应的事件数据,直到获得所有数据为止,每次调用它时,您都会收到一部分数据。

发送所有数据后,将调用end事件,并可以解析JSON。

您的代码正在尝试解析不完整的JSON字符串,仅是第一个块。

最常见的方法是在函数外部声明一个数组,该数组将处理事件数据结束对于每个数据事件,您都将块推送到外部数组中,并在最终事件中将其串联起来。

看一下这个:

var express = require('express')
var app = express()
var body = require('body-parser')
var https = require('https')

app.get('/results', function (req, res) {
  https.get('https://www.omdbapi.com/?apikey=d49698c3&s=harry', function (response) {
    const chunks = []
    response.on('data', function (chunk) {
      chunks.push(chunk)
    })

    response.on('end', function () {
      const data = Buffer.concat(chunks)
      var got = JSON.parse(data)
      // Try this one out as well
      // res.json(got)
      res.send(got.Search[0].Title)
    })
  })
})

app.listen(3000)

我刚刚测试了上面的代码,它的工作原理很吸引人。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

json解析错误语法错误输入意外结束

来自分类Dev

未捕获的语法错误:JSON 输入意外结束 [}

来自分类Dev

语法错误,意外的':',期望输入结束

来自分类Dev

语法错误:意外的输入结束

来自分类Dev

Angular 2 / Web Api-json解析错误语法错误输入意外结束

来自分类Dev

语法错误:意外的keyword_ensure,预期输入结束

来自分类Dev

未捕获的语法错误:JSON.parse 处的 JSON 输入意外结束

来自分类Dev

语法错误“语法错误,意外的输入结束,需要keyword_end(SyntaxError)”

来自分类Dev

语法错误“语法错误,意外的输入结束,需要keyword_end(SyntaxError)”

来自分类Dev

从Express应用返回JSON:未捕获(承诺)语法错误:输入意外结束

来自分类Dev

从Express应用返回JSON:未捕获(承诺)语法错误:输入意外结束

来自分类Dev

.bashrc:语法错误:文件意外结束

来自分类Dev

bash:语法错误:文件意外结束

来自分类Dev

.bashrc语法错误:文件意外结束

来自分类Dev

.bashrc:语法错误:文件意外结束

来自分类Dev

Ruby on Rails 语法错误,意外的输入结束,期待关键字结束 ^

来自分类Dev

Rails的Heroku错误:语法错误,意外的keyword_end,期望输入结束

来自分类Dev

rails格式错误:语法错误,意外的keyword_ensure,预期输入结束

来自分类Dev

Rails Controller错误:语法错误,意外的keyword_end,预期输入结束

来自分类Dev

找不到错误...语法错误,意外的keyword_ensure,预期输入结束

来自分类Dev

Ruby On Rails收到错误:语法错误,意外的keyword_ensure,预期输入结束

来自分类Dev

Ruby On Rails:创建新记录会出现错误:语法错误,意外的“,”,期望输入结束

来自分类Dev

语法错误,期望输入结束

来自分类Dev

解析错误:语法错误,文件意外结束

来自分类Dev

PHP解析错误:语法错误,文件意外结束,应为“`”

来自分类Dev

语法错误:bash中的文件意外结束错误

来自分类Dev

PHP-解析错误:语法错误,文件意外结束

来自分类Dev

PHP:解析错误:语法错误,文件意外结束

来自分类Dev

我收到解析错误:语法错误,文件意外结束

Related 相关文章

  1. 1

    json解析错误语法错误输入意外结束

  2. 2

    未捕获的语法错误:JSON 输入意外结束 [}

  3. 3

    语法错误,意外的':',期望输入结束

  4. 4

    语法错误:意外的输入结束

  5. 5

    Angular 2 / Web Api-json解析错误语法错误输入意外结束

  6. 6

    语法错误:意外的keyword_ensure,预期输入结束

  7. 7

    未捕获的语法错误:JSON.parse 处的 JSON 输入意外结束

  8. 8

    语法错误“语法错误,意外的输入结束,需要keyword_end(SyntaxError)”

  9. 9

    语法错误“语法错误,意外的输入结束,需要keyword_end(SyntaxError)”

  10. 10

    从Express应用返回JSON:未捕获(承诺)语法错误:输入意外结束

  11. 11

    从Express应用返回JSON:未捕获(承诺)语法错误:输入意外结束

  12. 12

    .bashrc:语法错误:文件意外结束

  13. 13

    bash:语法错误:文件意外结束

  14. 14

    .bashrc语法错误:文件意外结束

  15. 15

    .bashrc:语法错误:文件意外结束

  16. 16

    Ruby on Rails 语法错误,意外的输入结束,期待关键字结束 ^

  17. 17

    Rails的Heroku错误:语法错误,意外的keyword_end,期望输入结束

  18. 18

    rails格式错误:语法错误,意外的keyword_ensure,预期输入结束

  19. 19

    Rails Controller错误:语法错误,意外的keyword_end,预期输入结束

  20. 20

    找不到错误...语法错误,意外的keyword_ensure,预期输入结束

  21. 21

    Ruby On Rails收到错误:语法错误,意外的keyword_ensure,预期输入结束

  22. 22

    Ruby On Rails:创建新记录会出现错误:语法错误,意外的“,”,期望输入结束

  23. 23

    语法错误,期望输入结束

  24. 24

    解析错误:语法错误,文件意外结束

  25. 25

    PHP解析错误:语法错误,文件意外结束,应为“`”

  26. 26

    语法错误:bash中的文件意外结束错误

  27. 27

    PHP-解析错误:语法错误,文件意外结束

  28. 28

    PHP:解析错误:语法错误,文件意外结束

  29. 29

    我收到解析错误:语法错误,文件意外结束

热门标签

归档