2

可能重复:
我有一个嵌套数据结构/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
     }

请帮帮我..

4

3 回答 3

1

鉴于您提供的有关对象外观的信息是正确的,您不能通过 访问它UserArr.userid,而是通过访问它。UserArr[i].userid

另一种迭代数组的方法是使用Array.forEach

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

不过,您需要为旧版浏览器使用 shim;请参阅此 SO 答案中的 MDC 后备,以很好地解决某些浏览器的缺点。

于 2012-11-20T06:30:18.423 回答
1

您的数据看起来是array of objects.. 的形式。试试这种方式..

User_ID = UserArr[i].userid
Name = UserArr[i].username
于 2012-11-20T06:30:22.383 回答
1

UserArr没有userid财产。数组的每个索引都有一个userid属性。

for (var i = 0; i < UserArr.length; i++) {     
    User_ID = UserArr[i].userid;
    Name = UserArr[i].username;
}
于 2012-11-20T06:30:34.113 回答