• 序列化与反序列化 狼


    序列化可以分为:序列化为json(传输到客户端);序列化为二进制、序列化为xml文件(保存在服务器端,实现用户某些数据直接保存在服务器)。

    一、json序列化。

    用 System.Web.Script.Serialization.JavaScriptSerializer,可以把各自对象(类、类数组、数组等对象都序列化为json),把序列化的josn格式的数据实现异步输出到客户端,客户端可以对json数据进行解析,实现复杂数据传功能。

    二、二进制序列化:把,dataset、类、类数组、数组、等各种对象以二进制序列化,其中可以保存类的方法、属性等。其保存的数据类型种类多,数据保存完善。数据相对保密。

    利用    //IFormatter IF = new BinaryFormatter(); 和   //Stream strm = new FileStream()进行序列化。

               //IFormatter IF = new BinaryFormatter();
                //Stream strm = new FileStream(Server.MapPath(@"~/Serialier/myBin"), FileMode.Create, FileAccess.Write, FileShare.None);
                //IF.Serialize(strm, pepole);

    三、xml序列化:其只能保存类的公共属性,不能保持方法、私有属性。xml文件格式清晰。

    主要利用: XmlSerializer Ser = new XmlSerializer(typeof(Pepole[])); 和 FileStream fs = new FileStream()进行序列化。

    dataset序列化:

       XmlSerializer  Ser = new XmlSerializer(typeof(DataSet));
                TextWriter writer = new StreamWriter(fliename);
                Ser.Serialize(writer,ds);
                writer.Close();

    四、直接序列化dataset会使xml文件非常的复杂。可以先把dataset 的值赋到对应的类数组中,在序列化。实现dataset序列化后数据不赋值的问题。

    其中对流的操作,用完后必须进行关闭。各种对象的反序列化必须进行类型转换。

  • 相关阅读:
    D11中的DecimalSeparator如何使用
    mysql必知必会(八):过滤分组
    mysql必知必会(六):正则表达式过滤
    2022年7月6日面试题
    2022年7月7日面试题(一)
    mysql必知必会(七):聚合函数
    mysql必知必会(三):排序
    mysql必知必会(四):where过滤
    mysql必知必会(五):通配符过滤
    mysql必知必会(二):查询数据
  • 原文地址:https://www.cnblogs.com/gowhy/p/1996524.html
Copyright © 2020-2023  润新知