是否可以提供变量来选择JSON数组元素中的特定元素以便选择它?
假设我有很多用户:
"users": [
{ "id":"000000", "uname": "admin", "password": "admin", "phash": "b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e07394c706a8bb980b1d7785e5976ec049b46df5f1326af5a2ea6d103fd07c95385ffab0cacbc86",
"profile": {
"fullname" : "Admin Admin",
"datejoined": "01-01-2014",
"reputation": "100",
"displaypic": "http://www.google.com/logo.png",
"cart": {
"Cid" : "1000000",
"item": [
{ "Iid": "00000001", "quantity": "10" }
]
}
}
},
是否可以通过使用jQuery提供用户名来选择上述元素?
我试过了: 注意:jQuery中的uname是一个带有" admin"的变量。分配
$.getJSON('ssUsers.json', function (data) {
$(data.users[uname].profile.cart.item).each(function () {
++cartItems;
});
运气不好:
[错误] TypeError:' undefined'不是一个对象(评估' data.users [uname] .profile')
答案 0 :(得分:1)
使用grep:
thisUser = $.grep(data.users, function(e) { return e.uname==uname});
答案 1 :(得分:0)
试试这个:
$.getJSON('ssUsers.json', function (data) {
for(i=0; i<data.users.length ; i++){
$(data.users[i].uname.profile.cart.item).each(function () {
++cartItems;
}
});