2012-11-20 110 views
2

可能重複值:
I have a nested data structure/JSON, how can access a specific value?如何迭代,並可以在javascript數組包含JSON響應

這是我Ajax調用JS代碼

var UserArr = new Array(); 
    $.ajax({ 
       type: 'POST', 
       data: postJSONData, 
       url: 'PrivateSpace.asmx/GetUserDetails', 
       dataType: 'json', 
       async: false, 
       contentType: 'application/json; charset=utf-8', 
       success: function success(response) { 
       debugger; 
       UserArr = response.d; 


       }, 
       error: function failure(response) { 
        alert('failed'); 
       } 
      }); 

例如:UserArr會是這樣的:

[0] will have userid: 101, username: jack 
[1] will have userid: 102, username: jones 

我已經試過這樣的,但它似乎犯規工作

for (var i = 0; i < UserArr.length; i++) {  


      User_ID = // i couldn get like UserArr.userid 
      Name = // i couldn get like UserArr.username 
    } 

請幫助我..

回答

1

UserArr沒有userid財產。陣列的每個索引具有userid屬性。

for (var i = 0; i < UserArr.length; i++) {  
    User_ID = UserArr[i].userid; 
    Name = UserArr[i].username; 
} 
+0

謝謝你.. It Works .. :) – Xavier

1

你不UserArr.userid訪問它,但UserArr[i].userid,鑑於您提供的有關對象外觀的信息是否正確。

遍歷數組,它可以讓你少擔心迭代的機制的另一種方法,是使用Array.forEach

UserArr.forEach(function(user) { 
    alert(user.userid); 
}); 

你需要使用一個墊片對舊版瀏覽器,雖然,請參閱this SO answer中的MDC回退,以便解決某些瀏覽器缺陷的問題。

+0

謝謝你.. It Works .. :) – Xavier

1

你的數據看起來是在array of objects形式.. 嘗試這種方式..

User_ID = UserArr[i].userid 
Name = UserArr[i].username