Packages

  • package root
    Definition Classes
    root
  • package play
    Definition Classes
    root
  • package api
    Definition Classes
    play
  • package libs
    Definition Classes
    api
  • package json

    Json API For example:

    Json API For example:

    import play.api.libs.json._
    import play.api.libs.functional.syntax._
    
    case class User(id: Long, name: String, friends: Seq[User] = Seq.empty)
    object User {
    
      // In this format, an undefined friends property is mapped to an empty list
      implicit val format: Format[User] = (
        (__ \ "id").format[Long] and
        (__ \ "name").format[String] and
        (__ \ "friends").lazyFormatNullable(implicitly[Format[Seq[User]]])
          .inmap[Seq[User]](_ getOrElse Seq.empty, Some(_))
      )(User.apply, unlift(User.unapply))
    }
    
    //then in a controller:
    
    object MyController extends Controller {
       def displayUserAsJson(id: String) = Action {
          Ok(Json.toJson(User(id.toLong, "myName")))
       }
       def saveUser(jsonString: String)= Action {
         val user = Json.parse(jsonString).as[User]
         myDataStore.save(user)
         Ok
       }
    }
    Definition Classes
    libs
  • package jackson
    Definition Classes
    json
  • PlayJsonModule
  • package util
    Definition Classes
    json
p

play.api.libs.json

jackson

package jackson

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Value Members

  1. object PlayJsonModule extends SimpleModule

    The Play JSON module for Jackson.

    The Play JSON module for Jackson.

    This can be used if you want to use a custom Jackson ObjectMapper, or more advanced Jackson features when working with JsValue. To use this:

    import com.fasterxml.jackson.databind.ObjectMapper
    
    val mapper = new ObjectMapper().registerModule(PlayJsonModule)
    val jsValue = mapper.readValue("""{"foo":"bar"}""", classOf[JsValue])

Ungrouped