Javascript 说一个对象是一个字符串,不允许我访问它的键值(请求承诺)
Javascript says an object is a string and doesn't allow me to access it's key values (request promise)
似乎无论我如何处理结果,即使它作为一个对象返回,因为当我 console.log 它打印 [object object] 但是当我检查它的 typeof 它总是一个字符串,无论我做什么,我都试图立即做 JSON.parse 它会中断,因为它已经是一个对象,只是由于某种原因没有被识别为一个对象.. 如果我进行字符串化然后解析它仍然是一个字符串。
这是我得到的:
{
"PPR": "Some text",
"DDA": "another text"
}
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);
}
}
您只需要解析返回的 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);
}
}
希望对你有所帮助
似乎无论我如何处理结果,即使它作为一个对象返回,因为当我 console.log 它打印 [object object] 但是当我检查它的 typeof 它总是一个字符串,无论我做什么,我都试图立即做 JSON.parse 它会中断,因为它已经是一个对象,只是由于某种原因没有被识别为一个对象.. 如果我进行字符串化然后解析它仍然是一个字符串。
这是我得到的: { "PPR": "Some text", "DDA": "another text" }
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);
}
}
您只需要解析返回的 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);
}
}
希望对你有所帮助