在JQuery中访问JSON对象

时间:2018-01-26 11:02:15

标签: javascript jquery json

我目前有一个我的程序动态创建的JSON对象。该对象有效,可以使用JSON.parse()进行解析。

这是我正在使用的对象:

{
    "1":
        {
                "name":"temporary",
                "value":"5" 
        },
    "2":
        {
                "name":"temporary 2",
                "value":"10"
        }
}

我尝试使用的代码是:

              var obj = JSON.parse(StringObj);
              var count = Object.keys(obj).length;
              for(var i = 0; i < count; i++){
                console.log(obj[i].name + ": " + obj[i].value);
              }

但是,这会在控制台中引发错误:

obj[i] is undefined

我在这里做错了什么?我之前已经在不同的应用程序中完成了这一千次,但是无法弄清楚为什么它这次没有工作。

1 个答案:

答案 0 :(得分:3)

for循环从0开始,但密钥为12。您需要从1循环:

var obj = {
  "1": { "name": "temporary", "value": "5" },
  "2": { "name": "temporary 2", "value": "10" }
}

var count = Object.keys(obj).length;
for (var i = 1; i <= count; i++) {
  console.log(obj[i].name + ": " + obj[i].value);
}

或者,您可以通过在键上使用forEach()循环来避免此问题:

var obj = {
  "1": { "name": "temporary", "value": "5" },
  "2": { "name": "temporary 2", "value": "10" }
}

Object.keys(obj).forEach(function(key) {
  console.log(obj[key].name + ": " + obj[key].value);
});