获取所有浏览器版本的JSON数组的键名

时间:2014-06-04 14:01:09

标签: javascript json

我有一个JSON数组,我想得到他们的关键名称。

我搜索并发现没有真正解决问题的解决方案。所以我创建了自己的:

var data = [{ Id: 25 }, {Year: 18} ];

$.each(data, function (i, element) {
    var stringfied = JSON.stringify(element);
    var parts = stringfied.split('":'); //separate key and value
    var key = parts[0].split('{"')[1]; // get key
    console.info(key);
    console.info(element[key]);
});

我尝试了其他解决方案,如:

for (var key in data) {
    console.info(key);
    info(data[key]);
}

但是没有显示关键名称。

有更好的解决方案吗? (Object.keys需要现代浏览器,不适合)

1 个答案:

答案 0 :(得分:0)

想象一下,如果其中一个键包含一个前导冒号,您的代码将会执行什么操作。

这将完成这项工作:



var data = [
  {
    Id: 25
  }, 
  {
    Year: 18
  }
];

for (var i = 0; i < data.length; ++i) {
  var element = data[i];

  for (var k in element)
    if (element.hasOwnProperty(k)) {
      console.log(k);
      console.log(element[k]);
    }
}
&#13;
&#13;
&#13;