zoukankan      html  css  js  c++  java
  • 序列化与反序列化能力

    序列化与反序列化能力
    •JavaScriptConverter:自定义序列化与反序列化能力
    •JavaScriptTypeResolver:建立数据类型与标识符的映射
    •不是真正的JSON序列化
    –时间日期对象
    –Sys.Serialization.JavaScriptSerializer

    aspx
        <form id="form1" runat="server">
            
    <asp:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Debug">
            
    </asp:ScriptManager>
            
            
    <script language="javascript" type="text/javascript">
                var serializer 
    = Sys.Serialization.JavaScriptSerializer;
                
    // debugger;
                var date = serializer.deserialize('<%= this.SerializedDateTime %>');
                
    // debugger;
                
                var intern 
    = serializer.deserialize('<%= this.GetSerializedEmployee(0) %>');
                var vendor 
    = serializer.deserialize('<%= this.GetSerializedEmployee(1) %>');
                var fte 
    = serializer.deserialize('<%= this.GetSerializedEmployee(2) %>');
            
    </script>
        
    </form>

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Web.Script.Serialization;
    using ComplexType;
    using TypeResolver;

    public partial class _6_Serialization : System.Web.UI.Page
    {
        
    protected void Page_Load(object sender, EventArgs e)
        {
            
        }

        
    protected string SerializedDateTime
        {
            
    get
            {
                JavaScriptSerializer serializer 
    = new JavaScriptSerializer();
                
    return serializer.Serialize(DateTime.Now);
            }
        }

        
    protected string GetSerializedEmployee(int id)
        {
            Employee emp 
    = null;
            
    switch (id)
            {
                
    case 0: emp = new Intern(); break;
                
    case 1: emp = new Vendor(); break;
                
    default: emp = new FulltimeEmployee(); break;
            }

            JavaScriptSerializer serializer 
    = new JavaScriptSerializer(new CustomizeTypeResolver());
            
    return serializer.Serialize(emp);
        }
    }
  • 相关阅读:
    嵌套循环td时补齐td的解决方法
    [web.aspNet]vs2005无法断点调试网站,断点失效 IE8 vss6.0
    使IE6下PNG背景透明的七种方法任你选
    VBA之Range对象在Excel单元格赋值示例
    css控制透明度
    SQL2000中用backup 备份数据库
    软件开发人才级别划分
    sql server事务全攻略(转载)
    程序员不是神,心态决定一切
    一个真正合格程序员的七种素质
  • 原文地址:https://www.cnblogs.com/timy/p/1173149.html
Copyright © 2011-2022 走看看