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

    序列化可以分为:序列化为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序列化后数据不赋值的问题。

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

  • 相关阅读:
    倍增
    「BZOJ 2152」聪聪可可
    「POJ 1741」Tree
    点分治
    高斯消元
    网络流24题之餐巾计划问题
    网络流24题之骑士共存问题
    网络流24题之方格取数问题
    网络流24题之负载平衡问题
    网络流24题之分配问题
  • 原文地址:https://www.cnblogs.com/gowhy/p/1996524.html
Copyright © 2011-2022 走看看