在c#中使用MessagePack

trykle / 2024-11-11 / 原文

安装包

MessagePack

定义Person类

 [MessagePackObject]
 public class Person
 {
     [Key(0)]
     public string Name { get; set; }

     [Key(1)]
     public int Id { get; set; }

     [Key(2)]
     public string Email { get; set; }
 } 

使用

using MessagePack;

// 创建一个对象
var person = new Person { Name = "Alice", Id = 123, Email = "alice@example.com" };

// 序列化为字节数组
byte[] data = MessagePackSerializer.Serialize(person);
Console.WriteLine($"Length:{data.Length}");
Console.WriteLine($"{Convert.ToBase64String(data)}");

//反序列化 
Person newPerson = MessagePackSerializer.Deserialize<Person>(data);
Console.WriteLine(newPerson.Name);
Console.Read();