【问题标题】:Why steam web api returns undefined json value node js为什么steam web api返回未定义的json值节点js
【发布时间】:2020-07-14 01:31:24
【问题描述】:

您好,这些代码确实请求 Steam Web API

const request = require("request");
request({
    url: "https://api.steampowered.com/IEconService/GetTradeOffers/v1/?key=MYAPIKEY&get_sent_offers=1&active_only=1&format=json",
json: true
}, (err, responser, body) => {
    console.log(body.response['trade_offers_sent']);
});

这就是它返回的内容:

{
  trade_offers_sent: [
    {
      tradeofferid: '3974708687',
      accountid_other: 82613664,
      message: 'test message',
      expiration_time: 1587017229,
      trade_offer_state: 9,
      items_to_give: [Array],
      is_our_offer: true,
      time_created: 1585807629,
      time_updated: 1585807629,
      from_real_time_trade: false,
      escrow_end_date: 0,
      confirmation_method: 2
    }
  ]
}

但是当我试图以这种方式获取 accountid_other 的值时:

console.log(body.response['trade_offers_sent'].accountid_other);

返回未定义

【问题讨论】:

  • 这是一个数组,因此您必须从中取出第一项。例如。 ['trade_offers_sent'][0]
  • 非常感谢!它就像一个魅力
  • 好。我会将它作为 anwser 发布,然后进行一些解释:)

标签: node.js api web steam


【解决方案1】:

trade_offers_sent 中的方括号 [ ... ] 表示它包含一个数组,而不仅仅是一个项目(它恰好是数组中的一个项目)。因此,要获得您感兴趣的价值,您需要指定所需项目的索引或使用循环来遍历它。在这种情况下,您需要第一项,您可以使用['trade_offers_sent'][0] 获取它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-11
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多