zoukankan      html  css  js  c++  java
  • AJAX之Json序列化 天高地厚

    /*
    AJAX传递复杂数据结构如果按自己进行格式定义的话会经历组装,解析的过程,比较麻烦,其实AJAX中有一个数据的传输标准Json.
      
    Json 将服务器端将复杂对象序列化为一个Json字符串,在浏览器端再用$.parseJson()反序列化为Javascript可以读取的对象。
      
    C# 中将.NET对象序列化为Json字符串的方法:JavaScriptSerializer().Serialize(),AJAX得到的data是Json格式的数据,用$.parseJson()将Json格式的数据解析成javascript对象。
      
    首先在客户端,JsonTest1.html 通过AJAX发出请求,然后服务端返回数据,数据存在data中,如下所示:
    */
    <head>
        <title>无标题页</title>
        <script src="http://www.cnblogs.com/JQuery/js/jquery-1.4.2.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(function(){
                $.post("JsonTest1.ashx",function(data,status){
    //                反序列化一个对象
    //                var person = $.parseJSON(data);
    //                alert(person.Name);
    //                alert(data);
    //                反序列化一个数组
                    var str = $.parseJSON(data);
                    alert(str[1]);
                })
            })
        </script>
    </head>
    //下面是服务端 JsonTest1.ashx 的代码,服务端将复杂数据类型(对象,数组)发回给客户端
    public class JsonTest1 : IHttpHandler {
           
         public void ProcessRequest (HttpContext context) {
             context.Response.ContentType = "text/plain";
             JavaScriptSerializer jss = new JavaScriptSerializer();
             //传一个对象过去
             //String json = jss.Serialize(new Person() { Name="yaoguipeng",Age=30});
             //context.Response.Write(json);
             //传一个数组过去
             string[] str = { "yaoguipeng","guipengyao","yaopeng"};
             string json = jss.Serialize(str);
             context.Response.Write(json);
         }
        
         public bool IsReusable {
             get {
                 return false;
             }
         }
       
         public class Person
         {
             public string Name{get;set;}
             public int Age{get;set;}
         }    
     }
  • 相关阅读:
    转贴: AV音响连接方法 回上个问题,次世代音轨通过HDMI透传给了功放,那图像信号怎么给到电视? 这篇文章教你
    openmosix学习心得,openmosix和pbs系统的差异
    转载:高清音频格式详解
    PVFS2 Failover Policy - 当一块硬盘坏了以后,PVFS如何应对?数据会丢失么?
    转贴: 浅析多声道LPCM TRUE HD DTS HD之异同
    [存储知识]SAN和NAS的进一步解析
    转贴: 次时代音轨
    7×24小时硬盘-正在走向桌面用户的企业级硬盘
    Learning NFS/NIS 2nd 读书笔记-Chapter1 Network Fundamentals
    新闻管理页面源码
  • 原文地址:https://www.cnblogs.com/net2012/p/2874571.html
Copyright © 2011-2022 走看看