2012-10-17 36 views
1

我是JavaScript的新手,並開始遇到JSON問題。如何循環瀏覽每個組的JSON

我有像這樣一個對象:

var users = [ 
    { "firstName":"John" , "lastName":"Doe" }, 
    { "firstName":"Anna" , "lastName":"Smith" }, 
    { "firstName":"Peter" , "lastName":"Jones" } 
] 

反正我可以做一個jQuery $.each選擇做每一對的東西不知道有多少指標有?

像這樣:

$.each(obj.firstname) { 
    // Do stuff for John then Anna then Peter 
} 
+0

這有什麼好做JSON,順便說一句,這是用來只是一個普通的JavaScript數據結構在一個正常的JavaScript腳本中。 –

回答

1

這裏的基本用法:

$.each(users, function(i, user) { 
    var firstName = user.firstName; 
    var lastName = user.lastName; 
    // ... 
}); 
+0

alert(users [0] .firstname); // works $ .each(users,function(i,obj){alert(users.firstName); //給出未定義的 }); – jambuls

+0

抱歉無法將其正確地分配到空間 – jambuls

+0

@ user1752451問題是您使用了不正確的變量。只需複製答案中說明的解決方案即可使用。 – VisioN

6

更多類似:

$.each(users, function(i, data)) { 
    console.log(data.firstName); 
}); 
0

這樣

$.each(users,function(key,val){ 
$.each(val, function(k, v){alert(k+" - "+v);}); 
});​ 

fiddle

0
for(var key in users){ 
console.log(users[key].firstName) 
} 
+0

您將要用'hasOwnProperty'調用包裝循環體,請參閱[JSLint文檔](http://www.jslint.com/lint.html#forin)。 –

0

你可能想看看underscore.js,尤其是pluck方法:

_.each(_.pluck(users, 'firstName'), function (firstName) { 
    // Do stuff 
})