jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在jQuery中如何迭代这个JSON对象?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_772_1@我有一个PHP生成的JSON对象。它是一个具有一组日期的对象。它有timestamp,然后是格式化的日期。在jQuery中如何迭代?
{
  "dates":[
    {
      "timestamp": 1317596400,"formattedDate": "Mon 03 October 2011"
    },{
      "timestamp": 1317682800,"formattedDate": "Tue 04 October 2011"
    },{
      "timestamp": 1317855600,"formattedDate": "Thu 06 October 2011"
    }
  ]
}

我试过了

for (var i in data) { 
  alert(data.dates[i].timestamp); 
};

for (var i in data) { 
  alert(data[i].dates.timestamp); 
};

for (var i in data) { 
  alert(data.dates.timestamp[i]); 
};

解决方法

既然你把你的问题标记一个jquery,你应该使用 $.each因为它是jquery的迭代器函数
$.each(data.dates,function(index,element) {
    alert(element.timestamp); 
});

如果你想坚持for in语法(我看到你已经尝试过),一个解决方案可能是:

for(var key in data.dates) {
     alert(data.dates[key].timestamp); 
}

但请注意,在语法中可能会比您认为的更多:它会遍历从原型继承的属性,因此确保仅对对象实例属性进行迭代可能是有用的:

for(var key in data.dates) {
    // if it's not something from the prototype
    if(data.dates.hasOwnProperty(key)) {
        alert(data.dates[key].timestamp); 
    }
}

更新
一个优雅的方法是使用Object.keys方法返回一个包含目标对象中所有键的数组,以迭代所有对象的属性

for(var i=0,keys=Object.keys(data.dates),l=keys.length; i<l; i++) {
    alert(data.dates[key].timestamp);
}

大佬总结

以上是大佬教程为你收集整理的在jQuery中如何迭代这个JSON对象?全部内容,希望文章能够帮你解决在jQuery中如何迭代这个JSON对象?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。