【WP7】对象序列化
生活随笔
收集整理的这篇文章主要介绍了
【WP7】对象序列化
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
在WP7中,经常需要使用到保存数据,对对象的保存可以通过序列化到流,然后保存到文件中
常用的有三种序列化方式:xml,Json,DataContract
下面介绍着三种序列化的使用
首先,定义一个序列化类Person
public class Person{public string Name { get; set; }public int Age { get; set; }}1、使用XmlSerializer序列化
需要引用 System.Xml.Serialization 库
Person person = new Person() { Name = "Bomo", Age = 20 };//xml序列化开始MemoryStream ms = new MemoryStream();XmlSerializer xml = new XmlSerializer(typeof(Person));xml.Serialize(ms, person);//xml序列化的关键代码 byte[] arr = ms.ToArray();ms.Close();string xmlString = Encoding.UTF8.GetString(arr,0,arr.Length);MessageBox.Show(xmlString.Length.ToString());//xml反序列化 MemoryStream ms2 = new MemoryStream(Encoding.UTF8.GetBytes(xmlString));XmlSerializer xml2 = new XmlSerializer(typeof(Person)); Person pTest = xml.Deserialize(ms2) as Person;//xml反序列化的关键代码ms2.Close();
2、使用Json
需要引用 System.ServiceModel.Web 库
把对象序列化到流中,然后转换为json字符串
反序列化时,先把字符串读取到流中,然后进行反序列化
Person person = new Person() { Name = "Bomo", Age = 20 };// 序列化 string jsonString;using (var ms = new MemoryStream()){new DataContractJsonSerializer(p1.GetType()).WriteObject(ms, p1);jsonString = Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length);MessageBox.Show(jsonString.Length.ToString());}// 反序列化using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString))){Person desp = (Person)new DataContractJsonSerializer(typeof(Person)).ReadObject(ms);}
3、使用DataContract序列化
需要引用 System.Runtime.Serialization 库,步骤与Json类似
Person p1 = new Person() { Name = "Bomo", Age = 28 };//DataContract序列化MemoryStream ms = new MemoryStream(); DataContractSerializer ser = new DataContractSerializer(typeof(Person));ser.WriteObject(ms, p1);byte[] array = ms.ToArray();ms.Close();string _serializeString = Encoding.UTF8.GetString(array, 0, array.Length);MessageBox.Show(_serializeString.Length.ToString());//反序列化DataContractSerializer ser2 = new DataContractSerializer(typeof(Person));MemoryStream ms2 = new MemoryStream(Encoding.UTF8.GetBytes(_serializeString));Person p2 = ser2.ReadObject(ms2) as Person;
以上三种方法,Xml序列化的字符串最大,速度最慢,Json最快,体积最小
推荐使用Json来序列化对象
转载于:https://www.cnblogs.com/bomo/archive/2013/01/05/2845207.html
总结
以上是生活随笔为你收集整理的【WP7】对象序列化的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: ANT简明教程
- 下一篇: hibernate增删改查的标准范例