Packages

  • package root
    Definition Classes
    root
  • package play

    Play framework.

    Play framework.

    Play

    http://www.playframework.com

    Definition Classes
    root
  • package api

    Contains the public API for Scala developers.

    Contains the public API for Scala developers.

    Read configuration
    val poolSize = configuration.getInt("engine.pool.size")
    Use the logger
    Logger.info("Hello!")
    Define a Plugin
    class MyPlugin(app: Application) extends Plugin
    Create adhoc applications (for testing)
    val application = Application(new File("."), this.getClass.getClassloader, None, Play.Mode.DEV)
    Definition Classes
    play
  • package libs

    Contains various APIs that are useful while developing web applications.

    Contains various APIs that are useful while developing web applications.

    Definition Classes
    api
  • package json

    Json API

    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))
    }
    
    object MyController extends play.api.mvc.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
  • case class JsPath(path: List[PathNode] = List()) extends Product with Serializable

    Path to a JsValue; As for path to file on FS, there may not be any matching value in the parsed JSON.

    Path to a JsValue; As for path to file on FS, there may not be any matching value in the parsed JSON.

    Definition Classes
    json
  • json

object json

Source
JsPath.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. json
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  6. def copyFrom[A <: JsValue](reads: Reads[A]): Reads[JsObject]

    ( \ 'key).json.copyFrom(reads) is a Reads[JsObject] that: - copies a JsValue using passed Reads[A] - creates a new branch from JsPath and copies previous value into it

    ( \ 'key).json.copyFrom(reads) is a Reads[JsObject] that: - copies a JsValue using passed Reads[A] - creates a new branch from JsPath and copies previous value into it

    Useful to copy a value from a JSON branch into another branch.

    Example:

    import play.api.libs.json.{ Json, __ }
    
    val js = Json.obj("key1" -> "value1", "key2" -> "value2")
    js.validate( (__ \ 'key3).json.copyFrom((__ \ 'key2).json.pick))
    // => JsSuccess({"key3":"value2"},/key2)
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  15. def pick: Reads[JsValue]

    ( \ 'key).json.pick is a Reads[JsValue] that: - picks the given value at the given JsPath (WITHOUT THE PATH) from the input JS - validates this element as an object of type JsValue - returns a JsResult[JsValue]

    ( \ 'key).json.pick is a Reads[JsValue] that: - picks the given value at the given JsPath (WITHOUT THE PATH) from the input JS - validates this element as an object of type JsValue - returns a JsResult[JsValue]

    Useful to pick a JsValue at a given JsPath

    Example:

    import play.api.libs.json.{ Json, __ }
    
    val js = Json.obj("key1" -> "value1", "key2" -> "value2")
    js.validate((__ \ 'key2).json.pick)
    // => JsSuccess("value2",/key2)
  16. def pick[A <: JsValue](implicit r: Reads[A]): Reads[A]

    ( \ 'key).json.pick[A <: JsValue] is a Reads[A] that: - picks the given value at the given JsPath (WITHOUT THE PATH) from the input JS - validates this element as an object of type A (inheriting JsValue) - returns a JsResult[A]

    ( \ 'key).json.pick[A <: JsValue] is a Reads[A] that: - picks the given value at the given JsPath (WITHOUT THE PATH) from the input JS - validates this element as an object of type A (inheriting JsValue) - returns a JsResult[A]

    Useful to pick a typed JsValue at a given JsPath

    Example:

    import play.api.libs.json.{ Json, JsNumber, __ }
    
    val js = Json.obj("key1" -> "value1", "key2" -> 123)
    js.validate((__ \ 'key2).json.pick[JsNumber])
    // => JsSuccess(JsNumber(123),/key2)
  17. def pickBranch: Reads[JsObject]

    ( \ 'key).json.pickBranch is a Reads[JsObject] that: - copies the given branch (JsPath + relative JsValue) from the input JS at this given JsPath - creates a JsObject from JsPath and JsValue - returns a JsResult[JsObject]

    ( \ 'key).json.pickBranch is a Reads[JsObject] that: - copies the given branch (JsPath + relative JsValue) from the input JS at this given JsPath - creates a JsObject from JsPath and JsValue - returns a JsResult[JsObject]

    Useful to create/validate an JsObject from a single JsPath (potentially modifying it)

    Example:

    import play.api.libs.json.{ Json, __ }
    
    val js = Json.obj("key1" -> "value1", "key2" -> Json.obj( "key21" -> "value2") )
    js.validate( (__ \ 'key2).json.pickBranch )
    // => JsSuccess({"key2":{"key21":"value2"}},/key2)
  18. def pickBranch[A <: JsValue](reads: Reads[A]): Reads[JsObject]

    ( \ 'key).json.pickBranch[A <: JsValue](readsOfA) is a Reads[JsObject] that: - copies the given branch (JsPath + relative JsValue) from the input JS at this given JsPath - validates this relative JsValue as an object of type A (inheriting JsValue) potentially modifying it - creates a JsObject from JsPath and validated JsValue - returns a JsResult[JsObject]

    ( \ 'key).json.pickBranch[A <: JsValue](readsOfA) is a Reads[JsObject] that: - copies the given branch (JsPath + relative JsValue) from the input JS at this given JsPath - validates this relative JsValue as an object of type A (inheriting JsValue) potentially modifying it - creates a JsObject from JsPath and validated JsValue - returns a JsResult[JsObject]

    Useful to create/validate an JsObject from a single JsPath (potentially modifying it)

    Example:

    import play.api.libs.json.{ Json, JsString, __ }
    
    val js = Json.obj("key1" -> "value1", "key2" -> Json.obj( "key21" -> "value2") )
    js.validate( (__ \ 'key2).json.pickBranch[JsString]( (__ \ 'key21).json.pick[JsString].map( (js: JsString) => JsString(js.value ++ "3456") ) ) )
    // => JsSuccess({"key2":"value23456"},/key2/key21)
  19. def prune: Reads[JsObject]

    ( \ 'key).json.prune is Reads[JsObject] that prunes the branch and returns remaining JsValue.

    ( \ 'key).json.prune is Reads[JsObject] that prunes the branch and returns remaining JsValue.

    Example:

    import play.api.libs.json.{ Json, __ }
    
    val js = Json.obj("key1" -> "value1", "key2" -> "value2")
    js.validate( (__ \ 'key2).json.prune )
    // => JsSuccess({"key1":"value1"},/key2)
  20. def put(a: => JsValue): Reads[JsObject]

    ( \ 'key).put(fixedValue) is a Reads[JsObject] that: - creates a JsObject setting A (inheriting JsValue) at given JsPath - returns a JsResult[JsObject]

    ( \ 'key).put(fixedValue) is a Reads[JsObject] that: - creates a JsObject setting A (inheriting JsValue) at given JsPath - returns a JsResult[JsObject]

    This Reads doesn't care about the input JS and is mainly used to set a fixed at a given JsPath Please that A is passed by name allowing to use an expression reevaluated at each time.

    Example:

    import play.api.libs.json.{ Json, JsNumber, __ }
    
    val js = Json.obj("key1" -> "value1", "key2" -> "value2")
    js.validate( (__ \ 'key3).json.put( { JsNumber((new java.util.Date).getTime()) } ) )
    // => JsSuccess({"key3":1376419773171},)
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. def update[A <: JsValue](reads: Reads[A]): Reads[JsObject]

    ( \ 'key).json.update(reads) is the most complex Reads[JsObject] but the most powerful: - copies the whole JsValue => A - applies the passed Reads[A] on JsValue => B - deep merges both JsValues (A ++ B) so B overwrites A identical branches

    ( \ 'key).json.update(reads) is the most complex Reads[JsObject] but the most powerful: - copies the whole JsValue => A - applies the passed Reads[A] on JsValue => B - deep merges both JsValues (A ++ B) so B overwrites A identical branches

    Please note that if you have prune a branch in B, it is still in A so you'll see it in the result

    Example:

    import play.api.libs.json.{ Json, JsString, __ }
    
    val js = Json.obj("key1" -> "value1", "key2" -> "value2")
    js.validate(__.json.update((__ \ 'key3).json.put(JsString("value3"))))
    // => JsSuccess({"key1":"value1","key2":"value2","key3":"value3"},)
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped