C#通用类:json转换为对象,对象序列化XML

//做一个类id,email,age和json格式一致

using System.Web.Script.Serialization;
     public class Person
     {
        public int id { set; get; }
        public string email { set; get; }
        public int age { set; get; }
     }

     //这个一个反序列化的方法,用于返回泛型集合
     public static T JSONToObject<T>(string jsonText)
     {
        JavaScriptSerializer jss = new JavaScriptSerializer();
        return jss.Deserialize<T>(jsonText);
     }

//定义一个JSON字符串

//多个对象
var jdataList="[{\"id\":0,\"email\":\"abccd\",\"age\":0},{\"id\":1,\"email\":\"abc1\",\"age\":2}]"; 

//单个对像
var jdataSingle="[{\"id\":0,\"email\":\"abccd\",\"age\":0}]"; 

 // string jsonData = context.Request.Form["jdata"];  //取得这个json字符串
        string jsonData = jdataList;  //取得这个json字符串
         //调用上面这个方法,把json字符串传进去,就得到一个对象集合了
         List<Person> DataReust = JSONToObject<List<Person>>(jsonData);

         for (int i = 0; i < DataReust.Count; i++)
         {
             int id = DataReust[i].id;
             string email = DataReust[i].email;
             int age = DataReust[i].age;
             datastr += "id:" + id + "  email:" + email + " age:" + age+" ";
         }

       string jsonDataSingle = jdataSingle;  //取得这个json字符串
         //单个对像
         Person DataReustSingle = JSONToObject<<Person>>(jsonDataSingle  );

**

对象序列化XML

`

public static string xmlSerial<T>(T serializeClass)
        {
            string xmlString = string.Empty;
            XmlWriterSettings settings = new XmlWriterSettings();
            XmlSerializer serializer = new XmlSerializer(typeof(T));
            StringBuilder xmlStringBuilder = new StringBuilder();
            using (XmlWriter writer = XmlWriter.Create(xmlStringBuilder))
            {
                serializer.Serialize(writer, serializeClass);
                xmlString = xmlStringBuilder.ToString();
            }

            return xmlString;
        }  

`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值