Advertisement
Guest User

Untitled

a guest
Apr 21st, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.84 KB | None | 0 0
  1. import net.liftweb.json.JsonAST.{JField, JObject, JString, JValue}
  2. import net.liftweb.json.{DefaultFormats, JsonParser, ShortTypeHints}
  3.  
  4.  
  5.  
  6.  
  7. val json:JValue = JObject(List(JField("nodeType",JString("Scope")), JField("name",JString("peter")), JField("jsonClass",JString("Test"))))
  8. val jsonString : String = "{\"nodeType\":\"Scope\",\"name\":\"peter\",\"jsonClass\":\"Test\"}"
  9.  
  10. val myJson = JsonParser.parse(jsonString)
  11.  
  12.  
  13.  
  14. trait Testing{
  15.   val id:Option[String]
  16.   val name:String
  17.   val nodeType:String
  18. }
  19.  
  20. object Testing{
  21.   def allClasses : List[Class[_]] = List(classOf[Test])
  22. }
  23.  
  24. case class Test(name:String,nodeType:String,id:Option[String]=None) extends Testing
  25.  
  26. implicit val formats=DefaultFormats.withHints(ShortTypeHints(Testing.allClasses))
  27.  
  28. val d = myJson.extract[Testing]
  29. d match {
  30.   case Test(name,nodeType,None) => "hey"
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement