hello,
consider following piece of Scala code:
import net.liftweb.json._
case class Event(time: Long, genericProperties: Map[String, Object])
object JSONParseTest extends App {
implicit val formats = DefaultFormats
val json = parse(
"""
{
"time": 1451385000123,
"genericProperties": {
"ID": "test"
}
}
"""
)
def event = json.extract[Event]
println(event)
}
This generates following error:
Caused by: net.liftweb.json.MappingException: No information known about type
at net.liftweb.json.Meta$.fail(Meta.scala:191)
at net.liftweb.json.Extraction$.instantiate$1(Extraction.scala:256)
at net.liftweb.json.Extraction$.newInstance$1(Extraction.scala:286)
at net.liftweb.json.Extraction$.net$liftweb$json$Extraction$$build$1(Extraction.scala:315)
at net.liftweb.json.Extraction$$anonfun$net$liftweb$json$Extraction$$build$1$5.apply(Extraction.scala:328)
at net.liftweb.json.Extraction$$anonfun$net$liftweb$json$Extraction$$build$1$5.apply(Extraction.scala:328)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at net.liftweb.json.Extraction$.net$liftweb$json$Extraction$$build$1(Extraction.scala:328)
at net.liftweb.json.Extraction$.mkValue$1(Extraction.scala:351)
... 31 more
I don't want to change the type of the Map to a more specific type because it can contain several datatypes and I also don't want to use JObject in my Map. How can I do this?
Thanks in advance for your help,
Steven