我需要同时保存/序列化三个数据结构 [即,一个 DenseVector、一个 DenseMatrix 和一个 double],然后检索它们。可能我需要用这三个成员在 Scala 中创建一个类,创建一个对象并最终序列化该对象。在 Scala 中有没有其他/更好的方法来做同样的事情?
谢谢并恭祝安康,
我需要同时保存/序列化三个数据结构 [即,一个 DenseVector、一个 DenseMatrix 和一个 double],然后检索它们。可能我需要用这三个成员在 Scala 中创建一个类,创建一个对象并最终序列化该对象。在 Scala 中有没有其他/更好的方法来做同样的事情?
谢谢并恭祝安康,
最简单的方法是将这些类创建为案例类,案例类默认情况下是可序列化的。你可以在这里看到使用杰克逊的编组/解组的好文章
或使用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
如果您不需要担心二进制兼容性(它不需要存储很长时间等),那么使用 Tuple3 然后使用 Java 内置的序列化工具可能是安全的。那是假设您不需要它尽可能小...