2010-03-20 47 views
2

我有一個我想發送的人員對象列表,以響應jQuery的'ajax請求。我想將列表發送到JSON格式。名單如下 -如何在ASP.NET中將對象列表轉換爲JSON

List<Person> PersonList = new List<Person>(); 

Person X = new Person("X", 23, "This is X"); 
Person Y = new Person("Y", 24, "This is Y"); 

PersonList.Add(X); 
PersonList.Add(Y); 

我如何轉換這種PersonList列表爲JSON?

回答

3

JSON.NET對我來說工作得非常好。 http://www.codeplex.com/Json

如果你正在做的Web窗體和JQuery那麼這個鏈接可能幫助你:

http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/

+0

我使用JSON.NET的 「JsonConvert.SerializeObject(PersonList)」 的方法嘗試。但是,當我使用jquery的「$ .getJSON(...)」方法發送ajax請求時,它會導致一個「無效的JSON」錯誤,我使用Firebug進行了檢查。 – 2010-03-20 11:52:36

+0

使用Web窗體與JQuery的ajax功能有點棘手,這就是爲什麼我包括encosia鏈接。 getJSON是ajax方法的簡寫函數,但getJSON不適用於Web窗體,您必須使用$ .ajax()方法。此外,您必須正確設置編碼,並且類型必須爲Post,並注意ASP.NET用於防範XSS攻擊的.d安全措施。看到這篇文章:http://encosia.com/2009/06/29/never-worry-about-asp-net-ajaxs-d-again/ – 2010-03-20 13:18:25

+0

剛剛下載與nuget的Json.NET。它在幾分鐘內工作。這很棒! – Chris 2012-04-11 03:19:28