2011-08-19 56 views
1

我有一個簡單的C#類,名爲Employee,它有兩個屬性Name,Age。 我需要創建一個員工列表並序列化成JSON並在jQuery中訪問。使用jQuery讀取從ASP.NET返回的JSON

我已成功轉換爲JSON。 但我堅持通過jquery查閱。

public class Employee 
{ 
    public string Name { get; set; }  
    public int Age { get; set; } 
} 

protected void Page_Load(object sender, EventArgs e) 
{ 
    IList<Employee> employeeList = new List<Employee>() {   
    new Employee() { Name = "XXX", Age=20}, 
    new Employee() { Name = "YYY", Age=24} 
    new Employee() { Name = "kamal", Age=24} 
}; 

System.Web.Script.Serialization.JavaScriptSerializer objectSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();  
string jsonObj = objectSerializer.Serialize(employeeList); 
Response.Write(jsonObj); 
} 

任何想法.. ??

提前致謝。

+1

你有什麼用jQuery這麼遠?你可能想看看'jQuery.getJSON'。 – pimvdb

回答

1

您應該將json對象寫入腳本標記並將其分配給某個變量以便使用它。試試這個

Response.Write("<script type='text\javascript\> var employeeObj = "+jsonObj+"</script>"); 

使用jQuery中

//Looping through employeeObj using each method. Inside each this points to each item in the array and you can use this.Name and this.Age to retreive the values. 
$.each(employeeObj, function(){ 
    alert("Name: " + this.Name + " Age: "+ this.Age); 
}); 
+0

@dhinesh - 這對你有幫助嗎? – ShankarSangoli

+0

我試過這個,但仍然沒有得到答案。 – Dinesh

+0

你在哪裏試圖使用這個對象? – ShankarSangoli

0
$.ajax(
    {url: "your url to get data", 
    type="get", 
    dataType: "json", 
    success: function(data) { //data is your json 
    } 
); 

就是Ajax調用,但如果你要訪問它的變量,你應該寫它通過C#這樣

String.Format("<script language="javascript"> 
    var myJson = {0}; 
</script>", jsonObj) 

然後你可以從javascript訪問它,如

myJson; 
0

Json.js

使用JavaScript文件,並使用

var jsonObject = JSON.parse(string);