似乎无论我对结果做什么,即使它作为一个对象返回,因为当我console.log它时,它会打印对象对象,但是当我检查它的类型时,它总是一个字符串,无论我做什么,我都会立即执行JSON.parse,因为它已经是一个对象,只是由于某种原因而没有被识别为一个对象。如果我字符串赋值,然后解析,它仍然是一个字符串。
这是我得到的:{ "PPR":“一些文本”,"DDA":“另一个文本”}
var rp = require('request-promise');
function myff(input, callback) {
const URL = "https://test.com";
try{
var options = {
method: 'GET',
uri: URL,
headers:{
'Content-Type': 'application/json',
'key': 'xxff'
},
};
rp(options)
.then(function (parsedBody) {
var a = parsedBody;
console.log("ParsedBody: " + a);
console.log("ParsedBody type : " + typeof a);
var stringy = JSON.stringify(parsedBody);
var parsy = JSON.parse(stringy);
console.log("type stringy: " + typeof stringy);
console.log("type parsy: " + typeof parsy);
callback(null, JSON.parse(parsedBody));
})
.catch(function (err) {
console.log(err)
});
}catch (e){
console.log(" erros:" + e);
}
}
发布于 2020-04-16 19:50:36
您只需要解析返回的JSON响应。在console
语句中使用逗号运算符,因为(+)会导致连接,您将无法看到正确的结果。
var rp = require('request-promise');
function myff(input, callback) {
const URL = "https://test.com";
try{
var options = {
method: 'GET',
uri: URL,
headers:{
'Content-Type': 'application/json',
'key': 'xxff'
},
};
rp(options)
.then(function (parsedBody) {
var a = JSON.parse(parsedBody);
console.log("ParsedBody: ", a);
console.log("ParsedBody type : ", typeof a);
callback(null, a);
})
.catch(function (err) {
console.log(err)
});
}catch (e){
console.log(" erros:" + e);
}
}
我希望它能对你有所帮助。
https://stackoverflow.com/questions/61258716
复制