Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Angular应用程序中访问JSON数据(多个嵌套数组)_Json_Angular - Fatal编程技术网

在Angular应用程序中访问JSON数据(多个嵌套数组)

在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

如何从给定对象访问“行”数据? 这是到api的链接-

我越来越

<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