object json
- Source
- JsPath.scala
- Alphabetic
- By Inheritance
- json
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
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 :
val js = Json.obj("key1" -> "value1", "key2" -> "value2") js.validate( (__ \ 'key3).json.copyFrom((__ \ 'key2).json.pick)) => JsSuccess({"key3":"value2"},/key2)
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
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 :
val js = Json.obj("key1" -> "value1", "key2" -> "value2") js.validate((__ \ 'key2).json.pick) => JsSuccess("value2",/key2)
-
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 :
val js = Json.obj("key1" -> "value1", "key2" -> 123) js.validate((__ \ 'key2).json.pick[JsNumber]) => JsSuccess(JsNumber(123),/key2)
-
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 :
val js = Json.obj("key1" -> "value1", "key2" -> Json.obj( "key21" -> "value2") ) js.validate( (__ \ 'key2).json.pickBranch ) => JsSuccess({"key2":{"key21":"value2"}},/key2)
-
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 :
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)
-
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 :
val js = Json.obj("key1" -> "value1", "key2" -> "value2") js.validate( (__ \ 'key2).json.prune ) => JsSuccess({"key1":"value1"},/key2)
-
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 :
val js = Json.obj("key1" -> "value1", "key2" -> "value2") js.validate( (__ \ 'key3).json.put( { JsNumber((new java.util.Date).getTime()) } ) ) => JsSuccess({"key3":1376419773171},)
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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 :
val js = Json.obj("key1" -> "value1", "key2" -> "value2") js.validate(__.json.update((__ \ 'key3).json.put(JsString("value3")))) => JsSuccess({"key1":"value1","key2":"value2","key3":"value3"},)
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()