Node.js 在http get方法-nodejs/express中获取wierd json格式

Node.js 在http get方法-nodejs/express中获取wierd json格式,node.js,json,express,Node.js,Json,Express,我试图从keepa获取数据——我得到了一种奇怪的JSON格式,任何JSON扩展都无法读取。 在postman中,请求工作正常,我得到了可读的JSON。 我错过了什么 const express = require("express"); const https = require("https"); const decompressResponse = require("decompress-response"); const body

我试图从keepa获取数据——我得到了一种奇怪的JSON格式,任何JSON扩展都无法读取。 在postman中,请求工作正常,我得到了可读的JSON。 我错过了什么

const express = require("express");
const https = require("https");
const decompressResponse = require("decompress-response");
const bodyParser = require("body-parser");

const app = express();

app.use(bodyParser.urlencoded({extended: true}));

app.get("/", function(req, res){

res.sendFile(__dirname + "/index.html");
});

app.post("/", function(req, res){

console.log(req.body.asinId);
const query = req.body.asinId;
const apiKey = "MY_API_KEY";
const url = "https://api.keepa.com/product?key="+ apiKey +"&domain=1&asin="+ query;

const options ={
      methode:"GET",
      hearders: {
      "Content-Type":"application/json;charset=UTF-8",
      "Accept-Encodeing":"gzip",
      }
}

https.get(url,options, function(response){
response = decompressResponse(response);
console.log(response.statusCode);
console.log(response.headers);
var data;

response.on("data", function(chunk) {
if (!data) {
data = chunk;
} else {
data += chunk;
}

console.log(data);

});
});
res.send("server is running");
});

我假设您正在谈论您的
console.log(数据)在响应的数据事件回调中。
这是因为您尚未读取所有数据。
response.on(“data”,callback)
为您接收和解压缩的每个区块调用。 要获取完成的数据,请将console.log放入结束事件回调中:

const express=require(“express”)
常量https=require(“https”)
const decompressResponse=require(“解压缩响应”)
const bodyParser=require(“主体解析器”)
const app=express()
use(bodyParser.urlencoded({extended:true}))
应用程序获取(“/”,函数(请求,恢复){
res.sendFile(uu dirname+“/index.html”)
})
应用程序post(“/”,功能(请求,回复){
console.log(req.body.asinId)
const query=req.body.asinId
const apiKey=“我的API密钥”
常量url=”https://api.keepa.com/product?key=“+apiKey+”&domain=1&asin=“+query”
常量选项={
方法:“得到”,
听众:{
“内容类型”:“应用程序/json;字符集=UTF-8”,
“接受编码”:“gzip”,
}
}
https.get(url、选项、函数(响应){
响应=解压缩响应(响应)
console.log(response.statusCode)
console.log(response.headers)
var数据
关于(“数据”,函数(块){
如果(!数据){
数据=块
}否则{
数据+=块
}
})
响应。on(“结束”,函数(){
console.log(数据)
})
})
res.send(“服务器正在运行”)
})