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
    
        }
    

      

  • 相关阅读:
    div+css简写原则
    并发控制
    div+css之块级元素与内联元素
    window.event对象属性(转)
    SQL SERVER 架构管理
    关系的规范化
    js常用事件
    物联小白CoAP协议
    图片不停的横滚
    DropDownlist编程问题
  • 原文地址:https://www.cnblogs.com/xiaoyu369/p/4112334.html
Copyright © 2011-2022 走看看