在Angular应用程序中访问JSON数据(多个嵌套数组)
如何从给定对象访问“行”数据? 这是到api的链接- 我越来越在Angular应用程序中访问JSON数据(多个嵌套数组),json,angular,Json,Angular,如何从给定对象访问“行”数据? 这是到api的链接- 我越来越 <td>{{data.name }}</td> <td>{{data.homeTeamName }}</td> <td>{{data.awayTeamName}}</td> <td>{{data.startDate }}</td> <!--<td>{{dat
<td>{{data.name }}</td>
<td>{{data.homeTeamName }}</td>
<td>{{data.awayTeamName}}</td>
<td>{{data.startDate }}</td>
<!--<td>{{data.offers[1].label }}</td>-->
<td>{{data.offers.outcomes[2].line }}</td>
考虑到每个嵌套数组中只有一个项目,您可以按如下方式访问
行
let数据={
“事件”:[{
“id”:153502679,
“名称”:“绿湾包装工@芝加哥熊”,
“homeTeamName”:“CHI Bears”,
“awayTeamName”:“GB打包机”,
“起始日期”:“2019-09-06T00:20:00.0000000 Z”,
“提议”:[{
“id”:“1-216052122”,
“标签”:“点扩展”,
“成果”:[{
“id”:“1-2568051855”,
“标签”:“GB包装商”,
“行”:“+3.5000”,
“古怪的萨默里克人”:“-110”,
“oddsDecimal”:1.9100,
“ODDSfraction”:“10/11”,
“参与者”:“GB包装商”
}]
}]
}]
}
console.log(data.events[0]。提供[0]。结果[0]。行)代码>看起来您没有访问offers数组中的数据
请尝试以下代码以访问活动、优惠和结果:
data.events[0].offers[0].outcomes[0].line
希望它能起作用 提供的Api响应包含3个嵌套数组。因此,在访问它们的值时必须考虑它们。根据您在下面的数组中拥有的项数,解决方案将有所不同。在您的示例中,您正在访问数组“事件”、“提供”、“结果”的第一项的值
在这种情况下,您可以尝试
{{data.events[0]。提供[0]。结果[0]。行}
它起作用了,你能解释一下为什么使用0索引吗?因为它是一个数组。否则它怎么知道获取第一个元素呢?提供的[0]是否会指向第一个索引,即id?@AshishShah数组以索引0开头。因此,当您想要访问数组的第一项时,需要指向索引0。对于数组中的第二项,索引1。对于数组中的第三项,索引2等。请记住,在处理数组时,始终使用索引长度-1。例如,由5项组成的数组的最大索引为4,长度为-1。@AshishShah No.提供[0]。id将返回id。为什么将0作为索引?“不会提供[0]会指向第一个索引,即id吗?@AshishShah offers是一个对象数组,提供[0]
会管理整个对象。你说得对。我已经更新了答案。非常感谢。可能重复的
ERROR TypeError: Cannot read property '2' of undefined
data.events[0].offers[0].outcomes[0].line