创建一个Scala类/对象并对其进行序列化

时间:2014-11-05 00:08:18

标签: class scala serialization deserialization scala-breeze

我需要同时保存/序列化三个数据结构[即,一个DenseVector,一个DenseMatrix和一个double],然后检索它们。可能我需要在Scala中创建一个具有这三个成员的类,创建一个对象并最终序列化该对象。在Scala中还有其他/更好的方法吗?

谢谢和问候,

2 个答案:

答案 0 :(得分:0)

如果您不需要担心二进制兼容性(它不需要长时间存储等)。使用Tuple3然后使用Java的内置序列化工具可能是安全的。假设你不需要它尽可能小......

答案 1 :(得分:0)

最简单的方法是将这些类创建为case类,Case类默认是可序列化的。你可以使用jackson here

看到编组/解组的好文章

或使用liftweb:

import net.liftweb.json._
  import Extraction._

implicit val formats = DefaultFormats

case class Foo(String name)
val foo = Foo("John")
val json:JValue = decompose(foo) 

unmarshal
val fooFromJson:Foo = json.extract[Foo]
println(fooFromJson.name) //result John