You have to use
{
"tpe": "java.lang.String",
"value": "elem 1"
}
without JSONPickle(...):
val json = """{
"tpe": "java.lang.String",
"value": "elem 1"
}"""
JSONPickle(json).unpickle[String]
// String = elem 1
JSONPickle({...})not valid JSON.
You should also use pckl.valueinstead pckl.toStringto get JSONwithout JSONPickle(...):
val src = "elem 1"
val pckl = src.pickle
val pckl2 = JSONPickle(pckl.value)
pckl2.unpickle[String]
You can also use pattern matching as follows:
val src = "elem 2"
val pckl = src.pickle
val pckl2 = pckl match {
case JSONPickle(value) => JSONPickle(value)
}
pckl2.unpickle[String]
senia source
share