是将对象转换为可保持或可传输的形式的过程。
System.Runtime.Serialization
包含可用于序列化和反序列化对象的类。
System.Xml.Serialization
包含可用于将对象序列化为 XML 格式的文档或流的类。
System.Text.Json
包含可用于将对象序列化为 JSON 格式的文档或流的类。
是将流转换为对象的过程。
这两个过程一起保证能够存储和传输数据。
JSON序列化示例:
- public class Person
- {
- public string? Name { get; set; }
- public int Age { get; set; }
- public DateTimeOffset Date { get; set; }
- }
- internal class Program
- {
- static void Main(string[] args)
- {
- //创建一个Person类的对象
- Person person = new Person
- {
- Name = "大毛",
- Age = 10,
- Date = DateTime.Now
- };
- //序列化为JSON
- string jsonString = JsonSerializer.Serialize(person);
- Console.WriteLine(jsonString);
- //{"Name":"\u5927\u6BDB","Age":10,"Date":"2024-03-03T17:01:29.4062255+08:00"}
-
- }
- }
JSON反序列化示例:
- public class Person
- {
- public string? Name { get; set; }
- public int Age { get; set; }
- public DateTimeOffset Date { get; set; }
- }
- internal class Program
- {
- static void Main(string[] args)
- {
- string jsonString = @"{""Name"":""\u5927\u6BDB"",""Age"":10,""Date"":""2024-03-03T17:01:29.4062255+08:00""}";
- Person? person = JsonSerializer.Deserialize
(jsonString); -
- Console.WriteLine($"姓名:{person?.Name}");
- Console.WriteLine($"年龄:{person?.Age}");
- Console.WriteLine($"创建时间:{person?.Date}");
- //姓名: 大毛
- //年龄:10
- //创建时间:2024 - 03 - 03 17:01:29 + 08:00