1

如果有以下我从我的 NodeJS 应用程序获取的数据并且我想通过 javascript 显示。

{
    "holes": [{
        "par": 5,
        "strokeindex": 5
    }, {
        "par": 4,
        "strokeindex": 15
    }, {
        "par": 3,
        "strokeindex": 11
    }, {
        "par": 4,
        "strokeindex": 13
    }, {
        "par": 4,
        "storkeindex": 1
    }, {
        "par": 3,
        "strokeindex": 17
    }, {
        "par": 4,
        "strokeindex": 9
    }, {
        "par": 4,
        "strokeindex": 7
    }, {
        "par": 4,
        "strokeindex": 3
    }, {
        "par": 5,
        "strokeindex": 6
    }, {
        "par": 4,
        "strokeindex": 16
    }, {
        "par": 3,
        "strokeindex": 13
    }, {
        "par": 4,
        "strokeindex": 14
    }, {
        "par": 4,
        "storkeindex": 2
    }, {
        "par": 3,
        "strokeindex": 18
    }, {
        "par": 4,
        "strokeindex": 10
    }, {
        "par": 4,
        "strokeindex": 8
    }, {
        "par": 4,
        "strokeindex": 4
    }]
}

上面的数据取自我使用以下命令记录的控制台:

console.log(JSON.stringify(data));

现在我想将 data.holes 中每个对象的所有“par”信息输出到一个变量以显示在我的页面上。我已经尝试过很多方式,比如:

var html = "";
for(i = 1; i < 18; i++) { 
    html += data.holes[1].par + '<br/>';
}

像这样:

var html = "";
for(i = 1; i < 18; i++) {
    html += JSON.stringify(data.holes[1].par) + '<br/>';
}

像这样:

var html = "";
for(i = 1; i < 18; i++) {
    html += JSON.parse(data.holes[1].par) + '<br/>';
}

但是,当我这样做时,我会收到诸如“无法读取未定义的属性“par”或“未捕获的语法错误:意外的令牌 o”之类的错误。有人知道出了什么问题吗?

4

1 回答 1

0

尝试

for (var i = 1; i < data.holes.length; i++) {
   html += data.holes[i].par + '<br/>';
}

为我工作检查这个小提琴

于 2013-09-03T12:29:20.220 回答