可能重复:
I have a nested data structure / JSON, how can access a specific value?
这是我用于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
}
请帮帮我..
答案 0 :(得分:1)
您不是UserArr.userid
访问它,而是UserArr[i].userid
访问它,因为您提供的有关对象外观的信息是正确的。
迭代数组的另一种方法是使用Array.forEach
UserArr.forEach(function(user) {
alert(user.userid);
});
但是,您需要为旧版浏览器使用垫片;请参阅this SO answer中的MDC回退,以获得针对某些浏览器缺陷的良好修复。
答案 1 :(得分:1)
您的数据看起来是array of objects
的形式。
试试这种方式..
User_ID = UserArr[i].userid
Name = UserArr[i].username
答案 2 :(得分:1)
UserArr
没有userid
属性。数组的每个索引都有userid
属性。
for (var i = 0; i < UserArr.length; i++) {
User_ID = UserArr[i].userid;
Name = UserArr[i].username;
}