我想使用一个动漫数据库API来获取动漫节目的信息,这是我尝试做的事情
var http = require("http");
const url = "http://kitsu.io/api/edge/anime?=cowboy%20bebop";
http.get(url, res => {
res.setEncoding("utf8");
let body = "";
res.on("data", data => {
body += data;
});
res.on("end", () => {
body = JSON.parse(body);
//then do stuff here
});
});我得到的错误是
undefined:1
SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at IncomingMessage.res.on
(C:\Users\Admin\Desktop\project\index.js:113:17)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)第113行是
body = JSON.parse(body);(从第一段代码开始)
该接口的文档为here。
发布于 2017-09-24 15:25:44
JSON.parse(body);SyntaxError: JSON输入意外结束
当body具有无效的json时抛出。检查字符串值,确保它是json格式,并且没有任何错误。
如果提供的字节长度与数据不匹配,JSON.parse会给出“输入意外结束”错误。
发布于 2018-02-18 06:10:42
您在请求中为API提供了一个无效的JSON:API查询(这将导致它返回一个HTML错误页面)
您想要像这样使用过滤器查询:http://kitsu.io/api/edge/anime?filter[text]=cowboy%20bebop
https://stackoverflow.com/questions/46387270
复制相似问题