Javascript JSON输出

Javascript JSON输出,javascript,jquery,html,json,node.js,Javascript,Jquery,Html,Json,Node.js,如果有以下数据,我从我的NodeJS应用程序获取,我想通过javascript显示 { "holes": [{ "par": 5, "strokeindex": 5 }, { "par": 4, "strokeindex": 15 }, { "par": 3, "strokeindex": 11 }, { "par": 4, "strok

如果有以下数据,我从我的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=”“;
对于(i=1;i<18;i++){
HTML+=数据孔[1 ] .PAL+'BR/>;
}
就像这样:

var html = "";
for(i = 1; i < 18; i++) {
    html += JSON.stringify(data.holes[1].par) + '<br/>';
}
var html=”“;
对于(i=1;i<18;i++){
html+=JSON.stringify(data.holes[1].par)+'
'; }
就像这样:

var html = "";
for(i = 1; i < 18; i++) {
    html += JSON.parse(data.holes[1].par) + '<br/>';
}
var html=”“;
对于(i=1;i<18;i++){
html+=JSON.parse(data.holes[1].par)+'
'; }
但是当我这样做的时候,我会得到一些错误,比如“无法读取未定义的属性”par”或者“未捕获的语法错误:意外的标记o”。有人知道怎么回事吗?

试试看

for (var i = 1; i < data.holes.length; i++) {
   html += data.holes[i].par + '<br/>';
}
for(变量i=1;i;
}
为我工作
勾选此项

no您在循环中的何处声明i变量,也不要硬编码
i<18
,因为可能会有更多或更少的变量。使用
data.holes.length
@musefan你确实可以用字符串来做这件事。@Johan:是的,刚刚选中(我会删除以避免混淆OP)是否涉及ajax?如果是这样,请尝试将数据的使用限制为成功回调。此代码看起来运行良好(不包括
1
而不是
i
)。你能提供一个证明你的错误的例子吗?我怀疑它可能在你代码的其他地方