我需要同時保存/序列化三個數據結構[即一個DenseVector,一個DenseMatrix和一個double],並隨後檢索這些數據結構。可能我需要用這三個成員在Scala中創建一個類,創建一個對象並最終序列化該對象。在Scala中還有其他更好的方法嗎?創建一個Scala類/對象並將其序列化
感謝和問候,
我需要同時保存/序列化三個數據結構[即一個DenseVector,一個DenseMatrix和一個double],並隨後檢索這些數據結構。可能我需要用這三個成員在Scala中創建一個類,創建一個對象並最終序列化該對象。在Scala中還有其他更好的方法嗎?創建一個Scala類/對象並將其序列化
感謝和問候,
如果您不需要擔心二進制兼容性(它並不需要儲存時間長等),這可能是安全的只使用一個Tuple3然後使用Java內置的序列化工具。假設你不需要它儘可能小......
最簡單的方法是將這些類創建爲case類,Case類默認是可序列化的。
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
使用JSON:您可以使用傑克遜here
或使用liftweb見封送處理/拆封的好文章。 http://argonaut.io/ – Falmarri 2014-11-05 00:10:18
@Falmarri:對於矩陣或向量來說,JSON不太可能是一個非常好的解決方案,而這些解決方案並不是很小。 – 2014-11-05 00:19:36