我有JSON对象,有了这个对象,我需要找到" xxxEmployeeCategory" T"并列出数组中的列表

时间:2014-11-24 05:39:45

标签: jquery json

这是我得到的JSON对象作为回复。这包含项目,类别,ID,名字等

    {
        "items": [{
        "xxxEmployeeCategory": "T",
        "idNumber": 661153498,
        "firstName": "Steven",
        "lastName": "Babineau",
        "department": "ATHLETICS",
        "title": "Hd Mn Socc Cch/Life Skill",
        "email": "sbabineau@xxxme.edu",
        "officeLocation": "",
        "phoneNumber": "1-617-399-8777"
    },   {
        "xxxEmployeeCategory": "S",
        "idNumber": 12466,
        "firstName": "Matthew",
        .......
        .......
    }]
}

问题是我无法通过jQuery访问xxxEmployeeCategory的ID。

4 个答案:

答案 0 :(得分:0)

你可以循环使用$ .each()或for(),推入数组

var idList=[];
$.each(items,function(index,item){

    if(item.xxxEmployeeCategory == "T"){
        var id=item.idNumber;
        idList.push(id);
    }

});

答案 1 :(得分:0)

我们假设您已将解析后的响应存储在变量data中。即:

var data = {
    "items": [{
      "xxxEmployeeCategory": "T",
      "idNumber": 661153498,
      // other properties
    },{
      "xxxEmployeeCategory": "S",
      "idNumber": 12466,
      // other properties
    }]
};

xxxEmployeeCategory数组中有多个items个对象。

要访问特定属性,首先应使用items数组中的索引

访问该对象
var obj = data.items[0]; // points to the first object

然后,您可以使用obj.xxxEmployeeCategory运算符(如

)访问特定属性,例如.
var xxxEmployeeCategory= data.items[0].xxxEmployeeCategory;

您可以通过循环遍历数组来访问每个对象的属性。


如果您想获取所有对象的xxxEmployeeCategory,可以使用.map()方法,如下所示:

var employeeCategoryList = $.map(data.items,function(obj){
  return obj.xxxEmployeeCategory;
});

将返回包含所有项目的xxxEmployeeCategory属性值的数组

答案 2 :(得分:0)

由于讨论了.each()等方法,让我以不同的方式实现这一点,

for(var i=0;i<items[i].length; i++) {
   if(items[i].xxxEmployeeCategory=='T') {
      alert(items[i].idNumber);
   }
}

答案 3 :(得分:0)

嘿,非常感谢您的回复。最后,我通过使用json linq

实现了相同的目标
var strIDsArray = $.Enumerable.From(jsonData.items).Where(function(x) {
 return x.xxxEmployeeCategory == "T"
 }).Select(function(x) {
 return x.idNumber
 }).ToArray();

 console.log(strIDsArray);