簡單介紹C#使用物件序列化類庫MessasgePack
導讀 | 這篇文章介紹了C#使用物件序列化類庫MessasgePack的方法,文中透過示例程式碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑑價值,需要的朋友可以參考下 |
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(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); } }
到此這篇關於C#使用物件序列化類庫MessasgePack的文章就介紹到這了。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2905500/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JSON物件簡單介紹JSON物件
- 簡單介紹實體類或物件序列化時,忽略為空屬性的操作物件
- 簡單介紹標準庫fmt的基本使用
- C#各類集合介紹C#
- 簡單介紹nginx 變數使用Nginx變數
- 簡單介紹nginx反向代理及使用Nginx
- 簡單介紹C#呼叫USB攝像頭的方法C#
- RPC簡單介紹RPC
- Python簡單介紹Python
- KVM簡單介紹
- RMI簡單介紹
- HTML簡單介紹HTML
- HTML 簡單介紹HTML
- JavaScript 簡單介紹JavaScript
- CSS 簡單介紹CSS
- ajax簡單介紹
- SVG簡單介紹SVG
- Clickjacking簡單介紹
- 【Pandas】簡單介紹
- Map簡單介紹
- JSON簡單介紹JSON
- ActiveMQ簡單介紹MQ
- JDBC第一篇【介紹JDBC、使用JDBC連線資料庫、簡單的工具類】JDBC資料庫
- 課時36:類與物件:給大家介紹物件物件
- Git_簡單介紹Git
- jQuery Validate簡單介紹jQuery
- <svg>元素簡單介紹SVG
- 簡單介紹 ldd 命令
- 禪道簡單介紹
- Webpack 的簡單介紹Web
- Apache Curator簡單介紹Apache
- spark簡單介紹(一)Spark
- Flutter key簡單介紹Flutter
- 簡單介紹克隆 JavaScriptJavaScript
- AOP的簡單介紹
- Ansible(1)- 簡單介紹
- C# 基礎知識系列- 13 常見類庫介紹(一)C#
- python中類物件及類屬性的介紹Python物件