首页 > 解决方案 > 如何在不完全反序列化的情况下从对象的二进制文件中读取任意字段?

问题描述

我需要一个二进制序列化程序,它有点特殊,它可以从对象的二进制数据中读取任意字段,而无需完全反序列化
据我所知,目前只找到一个合格的序列化器。
Apache Ignite:它使您能够从对象的序列化形式中读取任意字段,而无需完整的对象反序列化。我想知道除了Apache Ignite
是否还有其他合格的序列化程序(任何编程语言)?如果我自己实现它,我如何从功能的角度命名序列化程序?


补充:
大多数序列化器最初是为网络通信而设计的,它们的主要任务是完全序列化和反序列化一个实体。
如果有组件需要将大对象序列化到磁盘,考虑到在某些情况下,组件在反序列化时只需要读取对象中的某个字段。考虑到性能影响,无法通过完全反序列化对象然后读取字段来实现序列化器。编组后的二进制数据应具有元数据信息。
我需要的序列化器可以通过读取元数据信息直接路由到某个字段的偏移量。这样一来,这就是bjson、MessagePack、protobuf不能擅长的了

标签: c#serializationbinary

解决方案


推荐阅读