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

        /// <summary>
        /// 序列化帮助类
        /// </summary>
        public class SerializeHelp
        {
            #region XML序列化
            /// <summary>
            /// XML序列化
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="t"></param>
            /// <returns></returns>
            public static string XMLSerialize<T>(T t)
            {
                using (StringWriter sw = new StringWriter())
                {
                    XmlSerializer xz = new XmlSerializer(t.GetType());
                    xz.Serialize(sw, t);
                    return sw.ToString();
                }
            }
    
            /// <summary>
            /// XML反序列化
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="t"></param>
            /// <param name="s"></param>
            /// <returns></returns>
            public static T XMLDeserialize<T>(T t, string s)
            {
                using (StringReader sr = new StringReader(s))
                {
                    XmlSerializer xz = new XmlSerializer(t.GetType());
    
                    return (T)xz.Deserialize(sr);
                }
            }
            #endregion
    
            #region JSON序列化和反序列化
            /// <summary>
            /// JSON序列化
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="t"></param>
            /// <returns></returns>
            public static string JSONSerialize(object jsonObject)
            {
    
                using (var ms = new MemoryStream())
                {
                    new DataContractJsonSerializer(jsonObject.GetType()).WriteObject(ms, jsonObject);
                    return Encoding.UTF8.GetString(ms.ToArray());
                }
               
            }
    
            /// <summary>
            /// JSON反序列化
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="t"></param>
            /// <param name="s"></param>
            /// <returns></returns>
            public static T JSONDeserialize<T>(string jsonString)
            {
                using (var memory = new MemoryStream(Encoding.Unicode.GetBytes(jsonString)))
                {
                    var serialize = new DataContractJsonSerializer(typeof(T));
                    return (T)serialize.ReadObject(memory);
                }
            }
            #endregion
    
        }
    

      

  • 相关阅读:
    bzoj1494 生成树计数 (dp+矩阵快速幂)
    hdu3516 Tree Construction (区间dp+四边形优化)
    luogu3628 特别行动队 (斜率优化dp)
    luogu3195/bzoj1010 玩具装箱(斜率优化dp)
    poj1038 Bugs Integrated,Inc. (状压dp)
    bzoj1597/luogu2900 土地购买 (斜率优化dp)
    bzoj4518/luogu4072 征途(斜率优化dp)
    pandas read_csv
    pandas series和pd.Dataframe区别
    python3 mro
  • 原文地址:https://www.cnblogs.com/xiaoyu369/p/4112334.html
Copyright © 2011-2022 走看看