Scala二进制序列化库

时间:2012-09-19 19:01:29

标签: scala serialization

我对scala数据结构序列化选项的意见感兴趣。我想找到一些开发得足以允许(如果可能的话)Scala集合类型的高效二进制序列化(即不使用通用Java反射 - 我不想序列化集合类的所有部分,包括内部记录数据)但也允许我为我自己的目的/类扩展功能:我很高兴必须为我们自己的每个类编写序列化代码,但宁愿不必为Scala的集合编写代码标准库。在C ++中,我从Boost serialization library获得了很多这方面的功能。

我过去曾使用SBinary并且它会执行我想要的一些操作,但是没有获得明显的主动维护,并且似乎(afaik)跟踪已经序列化的对象(例如,对于DAG而言)或循环数据结构)。

是否有其他针对Scala的解决方案,或者如果没有,您对高效二进制序列化的建议是什么?

2 个答案:

答案 0 :(得分:2)

可能,如果您只需要序列化数据而不是整个java对象,那么最佳解决方案是:

我在几个项目中使用msgpackbson,但效果非常好。我真的建议msgpack - 具有最有效的二进制表示(这三个)并且完全是JSON兼容。

答案 1 :(得分:1)

Scala的协议缓冲编译器:https://github.com/SandroGrzicic/ScalaBuff - 也许这有用吗?

本页底部还有其他一些链接:http://doc.akka.io/docs/akka/snapshot/scala/serialization.html