2012-12-06 67 views
0

我正在使用Asp.NET(2.0)。我有这样的json响应。使用jquery过滤Json对象

{ 
    "0": { 
    "EMPLOYEE_CODE": "049", 
    "EMPLOYEE_NAME": "Craig J Miller", 
    "EMPLOYEE_CITY": "Tustin", 
    "EMPLOYEE_STATE": "CA" 
    }, 
    "1": { 
    "EMPLOYEE_CODE": "050", 
    "EMPLOYEE_NAME": "Stephen B", 
    "EMPLOYEE_CITY": "FOLSOM", 
    "EMPLOYEE_STATE": "CA" 
    }, 
    "2": { 
    "EMPLOYEE_CODE": "051", 
    "EMPLOYEE_NAME": "Mithali Raj", 
    "EMPLOYEE_CITY": "Glendale", 
    "EMPLOYEE_STATE": "AZ" 
    }, 
    "3": { 
    "EMPLOYEE_CODE": "052", 
    "EMPLOYEE_NAME": "Gordon Green", 
    "EMPLOYEE_CITY": "Pheonix", 
    "EMPLOYEE_STATE": "AZ" 
    } 
} 

现在我想以过滤由EMPLOYEE_STATE作为搜索条件以上JSON响应。

我是JSON和jQuery的新手。

+3

你至少应该表明你自己努力解决这个问题,这不是一个获得免费(或为此付费)代码的网站。提出问题,我们将帮助您解决问题。 –

+1

我同意凯文。另外,只需使用underscore.js –

回答

1

你可以试试这个

function filter_by_employee_state(query, obj) 
{ 
    var new_obj={}, total=0, query=query.toLowerCase(); 
    for(var i in obj) 
    { 
     var emp_st=obj[i].EMPLOYEE_STATE.toLowerCase(); 
     if(emp_st==query) { new_obj[i]=obj[i]; total++; } 
    } 
    if(total>0) return new_obj; 
    return false; 
} 

// Filter the data object 
var filtered_data=filter_by_employee_state('ca', data); 

An Example Here

0

当涉及到浏览器时,如果您使用Jquery的get或相关方法,它只会成为一个json对象。

如果你已经知道了,只是要过滤的阵列来看看这个:http://linqjs.codeplex.com

虽然在服务器也许最好根据你的情况下对其进行筛选。