Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import net.liftweb.json.JsonAST.{JField, JObject, JString, JValue}
- import net.liftweb.json.{DefaultFormats, JsonParser, ShortTypeHints}
- val json:JValue = JObject(List(JField("nodeType",JString("Scope")), JField("name",JString("peter")), JField("jsonClass",JString("Test"))))
- val jsonString : String = "{\"nodeType\":\"Scope\",\"name\":\"peter\",\"jsonClass\":\"Test\"}"
- val myJson = JsonParser.parse(jsonString)
- trait Testing{
- val id:Option[String]
- val name:String
- val nodeType:String
- }
- object Testing{
- def allClasses : List[Class[_]] = List(classOf[Test])
- }
- case class Test(name:String,nodeType:String,id:Option[String]=None) extends Testing
- implicit val formats=DefaultFormats.withHints(ShortTypeHints(Testing.allClasses))
- val d = myJson.extract[Testing]
- d match {
- case Test(name,nodeType,None) => "hey"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement