我在node js中运行了以下代码
const request = require("request");
const GetUserInventory = {
method: 'GET',
url: 'https://api-trade.opskins.com/ITrade/GetUserInventory/v1/',
qs: { uid: '3192035', app_id: '1' },
json: true
};
request(GetUserInventory, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});我得到的输出如下所示。这里不显示字符串的值。也就是说,它们被显示为object如何获得图片中所述的所需输出?
{
status: 1,
time: 1536729167,
current_page: 1,
total_pages: 1,
response: {
items: [
[Object]
],
total: '1',
items_in_active_offers: null,
user_data: {
username: 'Mowrish gamdom.com',
avatar: 'https://steamcdn-a.opskins.media/steamcommunity/public/images/avatars/d7/d7cf2c088d4398bed904ae540b36211e1af202f2.jpg'
},
sort_parameters: [
[Object],
[Object],
[Object],
[Object],
[Object],
[Object]
]
}
}我期望的输出如下所示。如何获得此输出?

我在console.log()之前尝试过body的JSON.parse,而不是GetUserInventory中的json: true value。它没有起作用。此外,我还尝试了body的JSON.stringify。同样的事情也发生在它身上。
发布于 2018-09-12 14:15:30
如果你想要与你发布的截图中的输出相同,请尝试以下操作
request(GetUserInventory, function (error, response, body) {
if (error) throw new Error(error);
obj = JSON.stringify(body);
console.log(obj);
});发布于 2018-09-12 14:21:11
您对响应正文有问题。所以在调用API时可能没有设置content-type。
报头只表示内容的编码内容。不一定可以从内容本身推断出内容的类型,也就是说,您不一定只需要查看内容并知道如何处理它。这就是HTTP头的作用,它们告诉接收者他们(应该)处理的是哪种类型的内容。
在header中传递内容类型:
内容类型:application/json,字符集=utf-8;
所以您的响应将是JSON格式,您可以访问它。
或者你可以试试这个,这也是可行的。
obj = JSON.parse(JSON.stringify(body));
https://stackoverflow.com/questions/52288124
复制相似问题