Object

play.api.libs.json.JsPath

json

Related Doc: package JsPath

Permalink

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. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def copyFrom[A <: JsValue](reads: Reads[A]): Reads[JsObject]

    Permalink

    ( \ '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 :

    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

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  16. def pick: Reads[JsValue]

    Permalink

    ( \ '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 :

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

    Permalink

    ( \ '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 :

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

    Permalink

    ( \ '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 :

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

    Permalink

    ( \ '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 :

    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)
  20. def prune: Reads[JsObject]

    Permalink

    ( \ '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 :

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

    Permalink

    ( \ '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 :

    val js = Json.obj("key1" -> "value1", "key2" -> "value2")
    js.validate( (__ \ 'key3).json.put( { JsNumber((new java.util.Date).getTime()) } ) )
    => JsSuccess({"key3":1376419773171},)
  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  23. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  24. def update[A <: JsValue](reads: Reads[A]): Reads[JsObject]

    Permalink

    ( \ '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 :

    val js = Json.obj("key1" -> "value1", "key2" -> "value2")
    js.validate(__.json.update((__ \ 'key3).json.put(JsString("value3"))))
    => JsSuccess({"key1":"value1","key2":"value2","key3":"value3"},)
  25. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped