C# 如何实现对象序列化
在实现之前先要做一些准备工作序列化其实是对象和字符串文件之间的互相转换所以首先我们准备好一个实体类很简单的Person类using System.Text.Json; public class Person { public string Name { get; set; } public int Age { get; set; } public string Email { get; set; } }Person person new Person { Name 张三, Age 25, Email zhangexample.com };在 C# 中实现对象序列化主要有以下几种常用方式一、二进制二进制序列化及反序列化的方式主要是使用BinaryFormatter这个类类名上面要加上[Serializable]不加无法序列化序列化代码如下[Serializable] public class Person { public string Name { get; set; } public int Age { get; set; } public string Email { get; set; } }BinaryFormatter formatter new BinaryFormatter(); using (FileStream fs new FileStream(data.bin, FileMode.Create)) { formatter.Serialize(fs, person ); } // 反序列化 using (FileStream fs new FileStream(data.bin, FileMode.Open)) { DataObject deserializedObj (DataObject)formatter.Deserialize(fs); }二、XMLXML序列化可提高可读性以及对象共享和使用的灵活性XML序列化将对象的公共字段和属性或方法的参数和返回值序列化成符合特定XML格式的流。XML序列化代码如下[Serializable] public class Person { public string Name { get; set; } public int Age { get; set; } public string Email { get; set; } } using System.Xml.Serialization; using System.IO;XmlSerializer serializer new XmlSerializer(typeof(Person)); using (StringWriter writer new StringWriter()) { serializer.Serialize(writer, person); string xmlString writer.ToString(); Console.WriteLine(xmlString); } // 反序列化 using (StringReader reader new StringReader(xmlString)) { Person deserializedObj (Employee)serializer.Deserialize(reader); }三、JSONJSON序列化是目前使用很多的一种方式实现JSON序列化的方式也有很多一般会使用NewSoft.Json这个库来做可以通过Nuget搜索安装。// 序列化 string json JsonConvert.SerializeObject(person); // 反序列化 Product deserializedProduct JsonConvert.DeserializeObjectPerson(json); // 格式化输出 string formattedJson JsonConvert.SerializeObject(product, Formatting.Indented);
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2516031.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!