網站首頁 編程語言 正文
MessagePack是一種高效二進制序列化格式。可以在多種語言中進行快速數據交換,比如JSON格式等。它比Json更加小巧,更加高效,可以用于一些結構化數據存儲 ,非常適合適用于消息總線,MemoryCache等對序列化要求比較高的場合。
MessagePack基本上被大多數主流語言支持,因此用它來作為教程間交換的消息序列化也是一種不錯的方式,本文這里簡單的介紹一下如何在.Net 中使用MessagePack。
首先安裝MessagePack和MessagePackAnalyzer的Nuget包:
Install-Package MessagePack
Install-Package MessagePackAnalyzer
其中MessagePackAnalyzer是可選的,但它可以幫助檢查序列化標記的正確性,還是非常有用的。
如下就是一個簡單的示例,非常簡單,我就不多介紹了。?
// mark MessagePackObjectAttribute
[MessagePackObject]
public class MyClass
{
// Key is serialization index, it is important for versioning.
[Key(0)]
public int Age { get; set; }
[Key(1)]
public string FirstName { get; set; }
[Key(2)]
public string LastName { get; set; }
// public members and does not serialize target, mark IgnoreMemberttribute
[IgnoreMember]
public string FullName { get { return FirstName + LastName; } }
}
class Program
{
static void Main(string[] args)
{
var mc = new MyClass
{
Age = 99,
FirstName = "hoge",
LastName = "huga",
};
// call Serialize/Deserialize, that's all.
var bytes = MessagePackSerializer.Serialize(mc);
var mc2 = MessagePackSerializer.Deserialize<MyClass>(bytes);
// you can dump msgpack binary to human readable json.
// In default, MeesagePack for C# reduce property name information.
// [99,"hoge","huga"]
var json = MessagePackSerializer.ToJson(bytes);
Console.WriteLine(json);
}
}
原文鏈接:https://www.cnblogs.com/TianFang/p/6613372.html
相關推薦
- 2023-01-10 阿里云服務器?jdk1.8?安裝配置教程_服務器其它
- 2023-03-26 TypeScript?高級數據類型實例詳解_其它
- 2022-04-30 python?DataFrame中loc與iloc取數據的基本方法實例_python
- 2022-06-20 C語言三種方法解決輪轉數組問題_C 語言
- 2022-05-22 Python學習之os包使用教程詳解_python
- 2022-09-12 輕量級域名解析服務器之dnsmasq的介紹與部署_服務器其它
- 2022-09-27 使用Python?matplotlib繪制簡單的柱形圖、折線圖和直線圖_python
- 2022-05-14 pytorch中with?torch.no_grad():的用法實例_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支