因此,我正在尝试访问外部JSON对象(此特定结构)中的特定值:
{
resource: "playerdashboardbygeneralsplits",
parameters: {},
resultSets: [
{
name: "OverallPlayerDashboard",
headers: [],
rowSet: [
[
"Overall",
"2018-19",
60,
37,
23,
0.617,
2247.0583333333334,
651,
1483,
0.439,
294,
809,
0.363,
603,
687,
0.878,
55,
334,
389,
451,
314,
130,
45,
91,
196,
452,
2199,
119,
3553.3,
23,
6,
1,
1
]
]
},
{},
{},
{},
{},
{},
{}
]
}
我可以一直显示rowSet
的第一个孩子,这给了我数组。从这里开始,我不确定如何返回此数组中的第27个(2199)值。
下面我的js文件的全部内容:
var express = require('express')
var fetch = require('isomorphic-fetch')
var app = express()
async function nbaFetch(){
let result = await fetch('https://stats.nba.com/stats/playerdashboardbygeneralsplits?DateFrom=&DateTo=&GameSegment=&LastNGames=0&LeagueID=00&Location=&MeasureType=Base&Month=0&OpponentTeamID=0&Outcome=&PORound=0&PaceAdjust=N&PerMode=Totals&Period=0&PlayerID=201935&PlusMinus=N&Rank=N&Season=2018-19&SeasonSegment=&SeasonType=Regular+Season&ShotClockRange=&Split=general&VsConference=&VsDivision=', {
mode: 'cors',
method: "GET", // *GET, POST, PUT, DELETE, etc.
headers: {
"accept-encoding": "Accepflate, sdch",
"accept-language": "he-IL,he;q=0.8,en-US;q=0.6,en;q=0.4",
"cache-control": "max-age=0",
connection: "keep-alive",
host: "stats.nba.com",
referer: "http://stats.nba.com/",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"
},
})
let nbaFileStruct = await result.json()
return nbaFileStruct
}
app.use('/', async function (req, res, next) {
let result = await nbaFetch().catch(error => console.log(error))
res.send(JSON.stringify(result.resultSets[0].rowSet[0]))
})
app.listen(3001, console.log("I'm a server and I am listening on port 3001"))
是否有一种简单的方法来访问嵌套数组中的值? 我搜索了网站的其余部分,但找不到针对此特定问题的答案。
任何帮助将不胜感激。
答案 0 :(得分:0)
您可以指定数组的索引。在这种情况下,数组的第27位是索引26。
const result = {
resource: "playerdashboardbygeneralsplits",
parameters: {},
resultSets: [{
name: "OverallPlayerDashboard",
headers: [],
rowSet: [
[
"Overall",
"2018-19",
60,
37,
23,
0.617,
2247.0583333333334,
651,
1483,
0.439,
294,
809,
0.363,
603,
687,
0.878,
55,
334,
389,
451,
314,
130,
45,
91,
196,
452,
2199,
119,
3553.3,
23,
6,
1,
1
]
]
},
{},
{},
{},
{},
{},
{}
]
}
console.log(result.resultSets[0].rowSet[0][26])
答案 1 :(得分:0)
在Javascript中,当您获得带有[0]
表示法的数组的第一个元素时,它将返回一个数组,因此您只需将[]
与所需的索引一起使用。
result.resultSets[0].rowSet[0][26]