C#使用Json


AJAX傳遞復雜數據如果自己進行格式定義的話會經歷組裝、解析的過程,因此AJAX中有一個事實上
的數據傳輸標准JSon。 
Json將復雜對象序列化為一個字符串,在瀏覽器端再將字符串反序列化為JavaScript可以讀取的對象。
看一下Json的格式。Json被幾乎所有語言支持。 
C#中將.Net對象序列化為Json字符串的方法: 
JavaScriptSerializer().Serialize(p),JavaScriptSerializer在System.Web.Extensions.dll中,
是.Net3.x 中新增的類,如果在 .Net2.0中則需要用第三方的組件。 
JQuery AJAX得到的data是Json格式數據,用 $.parseJSON(data)方法將JSon格式數據解析為JavaScript對象 
可以在post函數 后一個函數傳遞"json"則data就是反序列化以后的對象,免去了parseJSON

案例:用Json將類返回給客戶端,使用JQurey
1.處理頁設置 Json1.ashx

public void ProcessRequest(HttpContext context)
    {
       context.Response.ContentType = "text/plain";
       JavaScriptSerializer jss = new JavaScriptSerializer();    //創建 JavaScriptSerializer
       string  json = jss.Serialize(new person(){Name="xgao",Age=18 });
       context.Response.Write(json);
    }

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

2.JAVAscript設置

    <script type="text/javascript">
        $(function() {
            $.post("Json1.ashx", function(data, state) {
                if (state == "success") {
                    var person = $.parseJSON(data);    //利用parseJSON進行轉換
                    alert(person.Name);
                    alert(person.Age);
                }
            });
        });
    </script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM