如何从API获取一定数量的JSON数据?

时间:2018-10-06 17:03:26

标签: javascript node.js

在这里,相当新的程序员,希望这不是一个基本问题,只是在任何地方都找不到答案(也许我只是不知道怎么看?)。

我目前正在使用BandsInTown API,并且除我收到的对象远远超出所需数量的事实外,其他一切工作都很好。

我只想知道是否有一种方法可以指定要接收的一定数量的对象? 任何帮助表示赞赏。

require("dotenv").config();

var keys = require("./keys.js");
var request = require('request')
var moment = require('moment')
var media = process.argv.slice(3).join(" ")



function bandsFunct() {
    var artist = "";
    for (var i = 3; i < process.argv.length; i++) {
        if (i !== 3) artist += "-"
        artist += process.argv[i];
    }
    if (process.argv[2] == "concert-this")
        request("https://rest.bandsintown.com/artists/" + artist + "/events?app_id=codingbootcamp", function (error, response, body) {
            console.log(response.body)
            var body = JSON.parse(body)
            console.log("    ")
            console.log("-------------------------------------")
            console.log("    ")
            console.log("Upcoming concerts for " + artist + ": ");
            for(var set in body) {
                var date = moment(body[set].datetime).format("MM/DD/YYYY")
                console.log(body[set].venue.city + ", " + "at " + body[set].venue.name + ", " + "on " + date) 
            }
            console.log("    ")
            console.log("-------------------------------------")
            console.log("    ")
        })
}
bandsFunct();

1 个答案:

答案 0 :(得分:-1)

  

假设您有一个对象

let obj = { 
         { name: 'war', class :'12' , age: 21, field: 'cse' } ,
          { name: 'jar', class :'120' , age: 251, field: 'csee' }
       }
  

如果您想要一些选定的字段,您可以这样做

 var result = Object.keys(obj).filter(item => 

  item.class < 100 // you can specify any condition
  )

 // the result will contain only those objects whose class < 100