XML/Json解析成对象 对象序列号成xml/Json

本文介绍如何使用C#进行XML和JSON的数据序列化与反序列化操作,包括使用XmlSerializer处理XML字符串及JavaScriptSerializer处理JSON数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


就这样 直接复制过去就可以用了

xml

  using System.IO;
using System.Xml;
using System.Xml.Serialization;


  /// <summary>
        /// 对象序列化成 XML String
        /// </summary>
       public static string XmlSerialize<T>(T obj)
       {
           string xmlString = string.Empty;
           try
           {
               XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
               using (MemoryStream ms = new MemoryStream())
               {
                   xmlSerializer.Serialize(ms, obj);
                   xmlString = Encoding.UTF8.GetString(ms.ToArray());
               }
           }
           catch
           {

               return null;
           }
           return xmlString;
       }

        /// <summary>
        /// XML String 反序列化成对象
        /// </summary>
        public static T XmlDeserialize<T>(string xmlString)
        {
            T t = default(T);
            try
            {
                XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
                using (Stream xmlStream = new MemoryStream(Encoding.UTF8.GetBytes(xmlString)))
                {
                    using (XmlReader xmlReader = XmlReader.Create(xmlStream))
                    {
                        Object obj = xmlSerializer.Deserialize(xmlReader);
                        t = (T)obj;
                    }
                }
            }
            catch
            {
                return t;
            }

            return t;
        }

json

这是.net4.0后自带的,需引用dll  

NETFramework\v4.0\System.Web.Extensions.dll

同时 using System.Web.Script.Serialization;

  /// <summary>
        /// json反序列化 
        /// </summary>
        /// <param name="strJson"></param>
        /// <returns></returns>
        public static T Json2Object<T>(string strJson)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            try
            {

                return js.Deserialize<T>(strJson);
            }
            catch
            {
                return  default(T);
            }

        }
        /// <summary>
        /// json序列化 
        /// </summary>
        /// <param name="strJson"></param>
        /// <returns></returns>
        public static string JsonObject2String(Object obj)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            try
            {

                return js.Serialize(obj);
            }
            catch
            {
                return null;
            }

        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值