首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON -多行字符串输出数组错误| nodejs | node-request

JSON -多行字符串输出数组错误| nodejs | node-request
EN

Stack Overflow用户
提问于 2018-09-12 13:37:31
回答 2查看 324关注 0票数 1

我在node js中运行了以下代码

代码语言:javascript
复制
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如何获得图片中所述的所需输出?

代码语言:javascript
复制
{
  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()之前尝试过bodyJSON.parse,而不是GetUserInventory中的json: true value。它没有起作用。此外,我还尝试了bodyJSON.stringify。同样的事情也发生在它身上。

EN

回答 2

Stack Overflow用户

发布于 2018-09-12 14:15:30

如果你想要与你发布的截图中的输出相同,请尝试以下操作

代码语言:javascript
复制
request(GetUserInventory, function (error, response, body) {
  if (error) throw new Error(error);
  obj = JSON.stringify(body);
  console.log(obj);
});
票数 0
EN

Stack Overflow用户

发布于 2018-09-12 14:21:11

您对响应正文有问题。所以在调用API时可能没有设置content-type。

报头只表示内容的编码内容。不一定可以从内容本身推断出内容的类型,也就是说,您不一定只需要查看内容并知道如何处理它。这就是HTTP头的作用,它们告诉接收者他们(应该)处理的是哪种类型的内容。

在header中传递内容类型:

内容类型:application/json,字符集=utf-8;

所以您的响应将是JSON格式,您可以访问它。

或者你可以试试这个,这也是可行的。

obj = JSON.parse(JSON.stringify(body));

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52288124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档