【问题标题】:Assign Variables to JSON data in node JS将变量分配给节点 JS 中的 JSON 数据
【发布时间】:2020-09-13 18:19:50
【问题描述】:

我有一个 API 端点,我试图为其分配变量,现在一个 JSON 数据是一个数组,我循环遍历它以在我的控制台日志中获取数据,我遇到的困难是我想要为它们分配变量。

这是我的代码:

const request = require('request');
    request('https://fantasy.premierleague.com/api/leagues-classic/1114549/standings/?page_new_entries=1&page_standings=1&phase=1', { json: true }, (err, res, body) => {
  if (err) { return console.log(err); }
  var data = body.standings.results;
  data.forEach(obj => {
    Object.entries(obj).forEach(([key, value]) => {
      console.log(`${key} ${value}`);
    });
    console.log('-------------------');
  });
  
});

这是我的 JSON 数据:

{
"league": {
    "id": 1114549,
    "name": "The crew",
    "created": "2020-09-11T17:36:20.083556Z",
    "closed": false,
    "max_entries": null,
    "league_type": "x",
    "scoring": "c",
    "admin_entry": 3523866,
    "start_event": 1,
    "code_privacy": "p",
    "rank": null
},
"new_entries": {
    "has_next": false,
    "page": 1,
    "results": []
},
"standings": {
    "has_next": false,
    "page": 1,
    "results": [
        {
            "id": 30771462,
            "event_total": 8,
            "player_name": "Mohammed Ismail",
            "rank": 1,
            "last_rank": 0,
            "rank_sort": 1,
            "total": 8,
            "entry": 3808290,
            "entry_name": "Moe"
        }

现在我正在尝试在控制台日志中仅记录standings.result.player_name,以便我可以在其他地方使用它,我该怎么做

所以我在控制台的输出应该只有"player_name": "Mohammed Ismail",

【问题讨论】:

    标签: javascript node.js rest


    【解决方案1】:

    我不确定我是否得到了这个问题,但如果您想获取所有 player_name 并将其收集到数组中,例如,您可以下一步:

    const request = require('request');
    
    const url = 'https://fantasy.premierleague.com/api/leagues-classic/1114549/standings/?page_new_entries=1&page_standings=1&phase=1';
    
    async function getStandings(url) {
      return new Promise((resolve, reject) => {
        request(
          url,
          { json: true },
          (err, res, body) => {
            if (err) {
              reject(err);
              return;
            }
    
            resolve(body.standings.results);
          }
        );
      });
    }
    
    
    (async () => {
      const data = await getStandings(url);
      // here you will receive array of stadings
      console.log('data : ', data);
    })();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-28
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-14
      相关资源
      最近更新 更多