返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#使用对象序列化类库MessasgePack
  • 412
分享到

C#使用对象序列化类库MessasgePack

2024-04-02 19:04:59 412人浏览 安东尼
摘要

MessagePack是一种高效二进制序列化格式。可以在多种语言中进行快速数据交换,比如JSON格式等。它比json更加小巧,更加高效,可以用于一些结构化数据存储 ,非常适合适用于消

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);
    }
}

到此这篇关于C#使用对象序列化类库MessasgePack的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#使用对象序列化类库MessasgePack

本文链接: https://lsjlt.com/news/152837.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#使用对象序列化类库MessasgePack
    MessagePack是一种高效二进制序列化格式。可以在多种语言中进行快速数据交换,比如JSON格式等。它比Json更加小巧,更加高效,可以用于一些结构化数据存储 ,非常适合适用于消...
    99+
    2024-04-02
  • C#使用Json.Net对JSON与对象的序列化与反序列化
    目录一、使用Json.Net1、把DataTable转换成json格式,使用最新Json.Net DLL ,已经内置转换器。2、对Json.Net序列化和反序列化的控制二、空值的处理...
    99+
    2024-04-02
  • C#对JSON与对象的序列化与反序列化
    一、利用Web服务中的JavaScriptSerializer 类 System.Web.Script.Serialization空间,位于System.Web.extensions...
    99+
    2024-04-02
  • 使用C#怎么对XML对象进行序列化和反序列化操作
    使用C#怎么对XML对象进行序列化和反序列化操作?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。public class XMLUtil{&n...
    99+
    2023-06-06
  • C#实现对象的序列化和反序列化
    什么是序列化和反序列化: 将对象及其状态保存起来,通常是保存到文件中,叫序列化。将文件还原为对象,叫反序列化。 序列化和反序列化的接口和帮助类: 接口IFormatterobject...
    99+
    2022-11-13
    C# 序列化对象 反序列化对象
  • 抽象类使用Jackson序列化问题
    目录抽象类使用Jackson序列化记一次jackson序列化Boolean的坑总结排查思路如下总结抽象类使用Jackson序列化 当java对象中含List<Object>...
    99+
    2023-01-01
    抽象类 Jackson序列化 抽象类Jackson序列化
  • C#开发中如何处理对象序列化和反序列化
    C#开发中如何处理对象序列化和反序列化,需要具体代码示例在C#开发中,对象序列化和反序列化是非常重要的概念。序列化是将对象转换为可以在网络上传输或在磁盘上存储的格式,而反序列化则是将序列化后的数据重新转换为原始对象。本文将介绍在C#中如何处...
    99+
    2023-10-22
    序列化 反序列化 对象处理
  • 在Python 中将类对象序列化为JSON
    目录1. 引言2. 举个栗子3. 解决方案3.1 使用 json.dumps() 和 __dict__3.2 实现 __str__ 和 __repr__3.3 实现 JSON enc...
    99+
    2024-04-02
  • Java之对象的序列化和反序列化
    对象的序列化和反序列化1)对象序列化,就是将Object对象转换成byte序列,反之叫对象的反序列化。2)序列化流(ObjectOutputStream),是字节的过滤流—— writeObject()方法 反序列化流(Object...
    99+
    2019-09-29
    Java IO流 对象 序列化 反序列化
  • C#使用BinaryFormatter类、ISerializable接口、XmlSerializer类进行序列化和反序列化
    序列化是将对象转换成字节流的过程,反序列化是把字节流转换成对象的过程。对象一旦被序列化,就可以把对象状态保存到硬盘的某个位置,甚至还可以通过网络发送给另外一台机器上运行的进程。本篇主...
    99+
    2024-04-02
  • Java对象流如何实现序列化的类
    小编给大家分享一下Java对象流如何实现序列化的类,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java有哪些集合类Java中的集合主要分为四类:1、List列表...
    99+
    2023-06-14
  • Java对象的序列化与反序列化详解
    一、序列化和反序列化的概念把对象转换为字节序列的过程称为对象的序列化,把字节序列恢复为对象的过程称为对象的反序列化。对象的序列化主要有两种途径:Ⅰ . 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中Ⅱ.  在网络上传送对...
    99+
    2023-05-31
    java 序列化 反序列化
  • C#序列化与反序列化集合对象并进行版本控制
    当涉及到跨进程甚至是跨域传输数据的时候,我们需要把对象序列化和反序列化。 首先可以使用Serializable特性。 [Serializable] public cl...
    99+
    2024-04-02
  • C#对Json进行序列化和反序列化
    一、Json简介 Json(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JS的一个子集。 Json采用完全独立于语言的文本格式。这使得J...
    99+
    2024-04-02
  • Java对象的序列化和反序列化是什么
    这篇文章主要介绍了Java对象的序列化和反序列化是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java对象的序列化和反序列化是什么文章都会有所收获,下面我们一起来看看吧。Java 对象的序列化和反序列化是...
    99+
    2023-07-06
  • C#中怎么实现JSON功能及对象的序列化和反序列化
    本篇内容主要讲解“C#中怎么实现JSON功能及对象的序列化和反序列化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#中怎么实现JSON功能及对象的序列化和反序列化”吧!Newtonsoft.J...
    99+
    2023-06-03
  • 在Python中怎么将类对象序列化为JSON
    本文小编为大家详细介绍“在Python中怎么将类对象序列化为JSON”,内容详细,步骤清晰,细节处理妥当,希望这篇“在Python中怎么将类对象序列化为JSON”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1. ...
    99+
    2023-06-29
  • java对象序列化有什么作用
    Java对象序列化可以将对象转换为字节流的形式,以便在网络传输或保存到文件中。它的作用包括:1. 数据持久化:将对象转换为字节流后,...
    99+
    2023-10-10
    Java
  • 如何使用Python中的pickle和JSON进行对象序列化和反序列化
    如何使用Python中的pickle和JSON进行对象序列化和反序列化Python是一种简单而强大的编程语言,其内置了许多有用的库和模块,使开发人员能够快速进行各种任务。其中,pickle和JSON是两个常用的模块,用于对象序列化和反序列化...
    99+
    2023-10-22
    序列化 JSON pickle
  • Android中的Parcelable序列化对象
    今天查阅资料,简单了解了一下Parcelable接口,它是android提供的序列化对象的接口,比java中的 Serializable高效些。通过这个接口序列化对象主要有两...
    99+
    2022-06-06
    对象 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作