Advertisement
eallik

Untitled

Jan 8th, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.50 KB | None | 0 0
  1. import scalaz._, Scalaz._
  2. import play.api.libs.json._
  3.  
  4. object Bla extends App {
  5.   def defaultRead[T](v: T)(implicit rt: Reads[T]) = new Reads[T] {
  6.     def reads(js: JsValue) = {
  7.       println("applying default value to " + js)
  8.       JsSuccess(js.asOpt[T].getOrElse(v))
  9.     }
  10.   }
  11.   val t = (__ \ "foo").read[JsString](defaultRead(JsString("hello")))
  12.  
  13.   val json1 = Json.parse("""{"foo": 3}""")
  14.   val json2 = Json.parse("""{}""")
  15.  
  16.   json1.transform(t) |> println
  17.   json2.transform(t) |> println
  18. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement