首页 > 解决方案 > 如何从 API 获取一定数量的 JSON 数据?

问题描述

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

我目前正在使用 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();

标签: javascriptnode.js

解决方案


假设你有一个对象

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

推荐阅读