在Angular应用程序中访问JSON数据

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (9)

如何从给定对象访问“line”数据?这是api的链接 - https://sportsbook.draftkings.com/api/odds/v1/leagues/3/offers/gamelines.json

{
    "events": [{
        "id": 153502679,
        "name": "Green Bay Packers @ Chicago Bears",
        "homeTeamName": "CHI Bears",
        "awayTeamName": "GB Packers",
        "startDate": "2019-09-06T00:20:00.0000000Z",
        "offers": [{
            "id": "1-2160521227",
            "label": "Point Spread",
            "outcomes": [{
                "id": "1-2568051855",
                "label": "GB Packers",
                "line": "+3.5000",
                "oddsAmerican": "-110",
                "oddsDecimal": 1.9100,
                "oddsFractional": "10/11",
                "participant": "GB Packers"
            },

我正进入(状态

<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>

我尝试上面的代码访问结果对象中的行,它给我下面的错误

ERROR TypeError: Cannot read property '2' of undefined
提问于
用户回答回答于

看起来您没有访问offers数组中的数据。

请尝试以下代码来访问事件,然后是优惠,然后是结果:

data.events[0].offers[0].outcomes[0].line

希望它有效!

用户回答回答于

提供的Api响应包含3个嵌套的数组。因此,您必须在访问其值时考虑它们。根据您在阵列中的项目数量,解决方案将有所不同。在您的示例中,您正在访问数组“事件”,“要约”,“结果”的第一项的值。

在这种特定情况下,您可以尝试

<td>{{data.events[0].offers[0].outcomes[0].line}} </td>

扫码关注云+社区

领取腾讯云代金券