pickling
pickling copied to clipboard
pickling a java.lang.Byte doesn't contain value (unpickles to zero)
Using:
"org.scala-lang" %% "scala-pickling" % "0.9.1"
When:
import scala.pickling._, json._
val r1: java.lang.Byte = 13.toByte
val r2 = r1.pickle
Then:
{
"tpe": "java.lang.Byte"
}
But scala.Byte works:
val z1: Byte = 13.toByte
val z2 = z1.pickle
{
"tpe": "scala.Byte",
"value": 13
}
It seems that none of the java.lang.* primitives work. So is this an issue or is my code incomplete?
More sinister problem is that you get 0 when you unpickle.
scala> import scala.pickling._, Defaults._, json._
import scala.pickling._
import Defaults._
import json._
scala> val r1: java.lang.Byte = 13.toByte
r1: Byte = 13
scala> val r2 = r1.pickle
r2: scala.pickling.json.pickleFormat.PickleType =
JSONPickle({
"$type": "java.lang.Byte"
})
scala> val r3 = r2.unpickle[java.lang.Byte]
r3: Byte = 0
Maybe this is a case of #60.