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
    
        }
    

      

  • 相关阅读:
    Java:多线程
    javascript:正则表达式、一个表单验证的例子
    DOM对象和window对象
    javascript:面向对象和常见内置对象及操作
    如何检查CentOS服务器受到DDOS攻击
    CentOS防SYN攻击
    CentOS服务器简单判断CC攻击的命令
    在VMware中为CentOS配置静态ip并可访问网络
    安全运维之:网络实时流量监测工具iftop
    安全运维之:网络实时流量监测工具iftop
  • 原文地址:https://www.cnblogs.com/xiaoyu369/p/4112334.html
Copyright © 2011-2022 走看看