http://www.playframework.com/documentation/2.1.2/ScalaJsonTransformersにある Play のドキュメントに従います。
import play.api.libs.json._
import play.api.libs.functional.syntax._
val gizmo2gremlin = (
(__ \ 'name).json.put(JsString("gremlin")) and
(__ \ 'description).json.pickBranch(
(__ \ 'size).json.update( of[JsNumber].map{ case JsNumber(size) => JsNumber(size * 3) } ) and
(__ \ 'features).json.put( Json.arr("skinny", "ugly", "evil") ) and
(__ \ 'danger).json.put(JsString("always"))
reduce
) and
(__ \ 'hates).json.copyFrom( (__ \ 'loves).json.pick )
) reduce
上記of[JsNumber]
は実際には であったはずですがFormat.of[JsNumber]
、その後でもコードはコンパイルされません。
could not find implicit value for parameter reducer: play.api.libs.functional.Reducer[play.api.libs.json.JsObject,B]
reduce
^
インポートが不足していますか、それともドキュメントにエラーがありますか?