Assign Variables to JSON data in node JS

戏子无情 提交于 2021-02-11 14:45:29

问题


I have an API End point that i am trying to assign variables to, now the one JSON data is an array and I Loop over it to get the data out in my console log, the difficulty i am having is that i want to assign variables to them.

Here is my code:

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('-------------------');
  });
  
});

and here is my JSON data:

{
"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"
        }

Now I am trying to console log only the standings.result.player_name in my console log so i can use it else where, how do i do that

So my output in the console should only be "player_name": "Mohammed Ismail",


回答1:


I'm not sure that i get the question, but in case if you want to get all player_name and collect it in array as example, You can do it next:

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);
})();


来源:https://stackoverflow.com/questions/63868732/assign-variables-to-json-data-in-node-js

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!