【问题标题】:Javascript JSON outputJavascript JSON 输出
【发布时间】:2013-09-06 16:31:47
【问题描述】:

如果我从我的 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”或“未捕获的 SyntaxError: Unexpected token o”之类的错误。有人知道怎么回事吗?

【问题讨论】:

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

标签: javascript jquery html json node.js


【解决方案1】:

试试

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

为我工作 检查这个fiddle

【讨论】:

    猜你喜欢
    • 2012-11-19
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 2018-08-22
    相关资源
    最近更新 更多