在Javascript中循环使用JSON。对象中的对象?

时间:2017-06-28 21:43:39

标签: javascript json

想要在javascript中循环浏览这样的JSON并访问'行'和其他变量。

{
"2":{"league":"MLB","matchnum":"2","site":"1","line":"-120","teamname":"COL"},
"1":{"league":"MLB","matchnum":"1","site":"2","line":"111","teamname":"SF"}
}

这似乎是答案,但我认为问题是我试图访问对象中对象的值。

for(var i = 0; i < json.length; i++) {
    var obj = json[i];

    console.log(obj.id);
}

我在哪里错了?非常感谢你的时间。

1 个答案:

答案 0 :(得分:1)

提供的JSON中没有id。如果您想显示12,那么您可以使用for ... in循环执行此操作。否则,您也可以通过这种方式访问​​JavaScript Object中的所有元素。

&#13;
&#13;
var json = {
  "2": {
    "league": "MLB",
    "matchnum": "2",
    "site": "1",
    "line": "-120",
    "teamname": "COL"
  },
  "1": {
    "league": "MLB",
    "matchnum": "1",
    "site": "2",
    "line": "111",
    "teamname": "SF"
  }
};
for (var i in json) {
  var obj = json[i];
  console.log(i);
  console.log(obj.teamname);
}
&#13;
&#13;
&#13;

此外,Charlie Martin指出的主要问题是你试图在一个对象上调用.length,这会给你带来不良结果,即一个length属性。完全没有定义JavaScript对象。