所以我有一个json对象
var json = {"School":{"Keywords":"HBS","SchoolName":"","SchoolUrl":"/Careers/Apply/University_recruiting/Schools/HBS.aspx"}, "School":{"Keywords":"Stanford","SchoolName":"","SchoolUrl":"/Careers/Apply/University_recruiting/Schools/Stanford.aspx"}}我想遍历它,以找到这个对象中的所有关键字。我尝试过$(json.School).each(function(){ console.log(this.Keywords) },但它似乎不起作用。有什么线索吗?
发布于 2011-06-07 05:24:30
$.each与数组一起使用。你所拥有的不是一个数组。它是一个带有属性的简单javascript对象。下面是javascript中数组的样子:
var json = [
{
"Keywords":"HBS",
"SchoolName":"",
"SchoolUrl":"/Careers/Apply/University_recruiting/Schools/HBS.aspx"
},
{
"Keywords":"Stanford",
"SchoolName":"",
"SchoolUrl":"/Careers/Apply/University_recruiting/Schools/Stanford.aspx"
}
];现在你可以循环了:
$.each(json, function() {
console.log(this.Keywords);
});这是一个working live demo。
发布于 2011-06-07 05:24:14
您的json对象是一个嵌套的字典数组。使用字符串引用其元素,如下所示:
$.each(json['School'], function() {...发布于 2011-06-07 05:25:44
您应该使用for...in
for (key in json){
if (json.hasOwnProperty(key)) {
alert(json[key]);
}
}始终检查属性是否属于对象,以避免从原型继承属性
编辑-这是一种迭代对象属性的方法,但我不知道您的对象是否有效
https://stackoverflow.com/questions/6258170
复制相似问题