我的代码是这个,我试图包含COVID 19 API 来自https://api.covid19api.com/,但是当我尝试解析数据时,它显示错误而不进行解析,则以十六进制显示输出。
const express = require("express");
const app = express();
const bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: true }));
https = require("https");
app.get("/", function (req, res) {
url = "https://api.covid19api.com/summary";
https.get(url, function (response) {
response.on("data", function (data) {
console.log(JSON.parse(data));
});
});
});
app.listen(3000, function () {
console.log("server is running ");
});
答案 0 :(得分:0)
它正在返回chunks
中的数据。您必须先组装数据。
const express = require("express");
const app = express();
const bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({
extended: true
}));
https = require("https");
app.get("/", function (req, res) {
url = 'https://api.covid19api.com/summary';
const request = https.request(url, function (response) {
let data = '';
response.on('data', (chunk) => {
data += chunk;
});
response.on('end', () => {
const body = JSON.parse(data)
console.log(body);
});
});
request.on('error', (error) => {
console.log('An error', error);
})
request.end();
});
app.listen(3000, function () {
console.log("server is running ")
});
顺便说一句,我确实建议使用流行的npm软件包,例如request
(尽管似乎已弃用)。它将使您的代码更加高效