Почему steam web api возвращает неопределенное json значение node js - PullRequest
0 голосов
/ 02 апреля 2020

Здравствуйте, этот код запрашивает 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);

возвращает неопределенное значение

1 Ответ

1 голос
/ 02 апреля 2020

Квадратные скобки [ ... ] в trade_offers_sent указывают на то, что он содержит массив, а не только один элемент (это просто один элемент в массиве). Таким образом, чтобы получить интересующее вас значение, вам нужно указать индекс элемента, который вы хотите, или использовать от oop до go. В этом случае вам нужен первый элемент, и вы можете использовать ['trade_offers_sent'][0] для его получения.

...