Packages

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.

Source
JsPath.scala
Linear Supertypes
Serializable, Product, Equals, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JsPath
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new JsPath(path: List[PathNode] = List())

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def ++(other: JsPath): JsPath
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. def \(idx: Int): JsPath
  6. def \(child: Symbol): JsPath
  7. def \(child: String): JsPath
  8. def \\(child: Symbol): JsPath
  9. def \\(child: String): JsPath
  10. def apply(json: JsValue): List[JsValue]
  11. def apply(idx: Int): JsPath
  12. def applyTillLast(json: JsValue): Either[JsError, JsResult[JsValue]]
  13. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  14. def asSingleJsResult(json: JsValue): JsResult[JsValue]
  15. def asSingleJson(json: JsValue): JsLookupResult
  16. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  17. def compose(other: JsPath): JsPath
  18. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  20. def format[T](w: Writes[T])(implicit r: Reads[T]): OFormat[T]

    Reads/Writes a T at JsPath using provided explicit Writes[T] and implicit Reads[T]

  21. def format[T](r: Reads[T])(implicit w: Writes[T]): OFormat[T]

    Reads/Writes a T at JsPath using provided explicit Reads[T] and implicit Writes[T]

  22. def format[T](implicit f: Format[T]): OFormat[T]

    Reads/Writes a T at JsPath using provided implicit Format[T]

  23. def formatNullable[T](implicit f: Format[T]): OFormat[Option[T]]

    Reads/Writes a Option[T] (optional or nullable field) at given JsPath

    Reads/Writes a Option[T] (optional or nullable field) at given JsPath

    See also

    JsPath.readNullable to see behavior in reads

    JsPath.writeNullable to see behavior in writes

  24. def formatNullableWithDefault[T](defaultValue: => Option[T])(implicit f: Format[T]): OFormat[Option[T]]

    Reads/Writes a Option[T] (nullable field) at given JsPath

    Reads/Writes a Option[T] (nullable field) at given JsPath

    See also

    JsPath.readNullableWithDefault to see behavior in reads

    JsPath.writeNullable to see behavior in writes

  25. def formatWithDefault[T](defaultValue: => T)(implicit f: Format[T]): OFormat[T]

    Reads/Writes a T at JsPath using provided implicit Format[T] with fallback to default value

  26. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  27. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  28. def lazyFormat[T](r: => Reads[T], w: => Writes[T]): OFormat[T]

    Lazy Reads/Writes a T at given JsPath using explicit Reads[T] and Writes[T] (useful in case of recursive case classes).

    Lazy Reads/Writes a T at given JsPath using explicit Reads[T] and Writes[T] (useful in case of recursive case classes).

    See also

    JsPath.lazyReadNullable to see behavior in reads

    JsPath.lazyWriteNullable to see behavior in writes

  29. def lazyFormat[T](f: => Format[T]): OFormat[T]

    Lazy Reads/Writes a T at given JsPath using implicit Format[T] (useful in case of recursive case classes).

    Lazy Reads/Writes a T at given JsPath using implicit Format[T] (useful in case of recursive case classes).

    See also

    JsPath.lazyReadNullable to see behavior in reads

    JsPath.lazyWriteNullable to see behavior in writes

  30. def lazyFormatNullable[T](r: => Reads[T], w: => Writes[T]): OFormat[Option[T]]

    Lazy Reads/Writes a Option[T] (optional or nullable field) at given JsPath using explicit Reads[T] and Writes[T] (useful in case of recursive case classes).

    Lazy Reads/Writes a Option[T] (optional or nullable field) at given JsPath using explicit Reads[T] and Writes[T] (useful in case of recursive case classes).

    See also

    JsPath.lazyReadNullable to see behavior in reads

    JsPath.lazyWriteNullable to see behavior in writes

  31. def lazyFormatNullable[T](f: => Format[T]): OFormat[Option[T]]

    Lazy Reads/Writes a Option[T] (optional or nullable field) at given JsPath using implicit Format[T] (useful in case of recursive case classes).

    Lazy Reads/Writes a Option[T] (optional or nullable field) at given JsPath using implicit Format[T] (useful in case of recursive case classes).

    See also

    JsPath.lazyReadNullable to see behavior in reads

    JsPath.lazyWriteNullable to see behavior in writes

  32. def lazyRead[T](r: => Reads[T]): Reads[T]

    Reads a T at JsPath using the explicit Reads[T] passed by name which is useful in case of recursive case classes for ex.

    Reads a T at JsPath using the explicit Reads[T] passed by name which is useful in case of recursive case classes for ex.

    import play.api.libs.functional.syntax._
    import play.api.libs.json.{ Reads, __ }
    
    case class User(id: Long, name: String, friend: User)
    
    implicit lazy val UserReads: Reads[User] = (
      (__ \ 'id).read[Long] and
      (__ \ 'name).read[String] and
      (__ \ 'friend).lazyRead(UserReads)
    )(User.apply _)
  33. def lazyReadNullable[T](r: => Reads[T]): Reads[Option[T]]

    Reads lazily a Option[T] search optional or nullable field at JsPath using the explicit Reads[T] passed by name which is useful in case of recursive case classes for ex.

    Reads lazily a Option[T] search optional or nullable field at JsPath using the explicit Reads[T] passed by name which is useful in case of recursive case classes for ex.

    import play.api.libs.functional.syntax._
    import play.api.libs.json.{ Reads, __ }
    
    case class User(id: Long, name: String, friend: Option[User])
    
    implicit lazy val UserReads: Reads[User] = (
      (__ \ 'id).read[Long] and
      (__ \ 'name).read[String] and
      (__ \ 'friend).lazyReadNullable(UserReads)
    )(User.apply _)
  34. def lazyWrite[T](w: => Writes[T]): OWrites[T]

    Writes a T at JsPath using the explicit Writes[T] passed by name which is useful in case of recursive case classes for ex

    Writes a T at JsPath using the explicit Writes[T] passed by name which is useful in case of recursive case classes for ex

    import play.api.libs.functional.syntax._
    import play.api.libs.json.{ Writes, __ }
    
    case class User(id: Long, name: String, friend: User)
    
    implicit lazy val UserWrites: Writes[User] = (
      (__ \ 'id).write[Long] and
      (__ \ 'name).write[String] and
      (__ \ 'friend).lazyWrite(UserWrites)
    )(unlift(User.unapply))
  35. def lazyWriteNullable[T](w: => Writes[T]): OWrites[Option[T]]

    Writes a Option[T] at JsPath using the explicit Writes[T] passed by name which is useful in case of recursive case classes for ex

    Writes a Option[T] at JsPath using the explicit Writes[T] passed by name which is useful in case of recursive case classes for ex

    Please note that it's not writeOpt to be coherent with readNullable

    import play.api.libs.functional.syntax._
    import play.api.libs.json.{ Writes, __ }
    
    case class User(id: Long, name: String, friend: Option[User])
    
    implicit lazy val UserWrites: Writes[User] = (
      (__ \ 'id).write[Long] and
      (__ \ 'name).write[String] and
      (__ \ 'friend).lazyWriteNullable(UserWrites)
    )(unlift(User.unapply))
  36. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  37. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  38. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  39. val path: List[PathNode]
  40. def productElementNames: Iterator[String]
    Definition Classes
    Product
  41. def prune(js: JsValue): JsResult[JsObject]

    Simple Prune for simple path and only JsObject

  42. def read[T](t: T): Reads[T]

    Pure Reads doesn't read anything but creates a JsObject based on JsPath with the given T value

  43. def read[T](implicit r: Reads[T]): Reads[T]

    Reads a T at JsPath

  44. def readNullable[T](implicit r: Reads[T]): Reads[Option[T]]

    Reads a Option[T] search optional or nullable field at JsPath (field not found or null is None and other cases are Error).

    Reads a Option[T] search optional or nullable field at JsPath (field not found or null is None and other cases are Error).

    It runs through JsValue following all JsPath nodes on JsValue: - If any node in JsPath is not found => returns None - If any node in JsPath is found with value "null" => returns None - If the entire path is found => applies implicit Reads[T]

  45. def readNullableWithDefault[T](defaultValue: => Option[T])(implicit r: Reads[T]): Reads[Option[T]]

    Reads an Option[T] search optional or nullable field at JsPath (field not found replaced by default value, null is None and other cases are Error).

    Reads an Option[T] search optional or nullable field at JsPath (field not found replaced by default value, null is None and other cases are Error).

    It runs through JsValue following all JsPath nodes on JsValue except last node: - If any node in JsPath is not found => returns default value - If any node in JsPath is found with value "null" => returns None - If the entire path is found => applies implicit Reads[T]

  46. def readWithDefault[T](defaultValue: => T)(implicit r: Reads[T]): Reads[T]

    Reads a T at JsPath

  47. def rw[T](implicit r: Reads[T], w: Writes[T]): OFormat[T]

    Reads/Writes a T at JsPath using provided implicit Reads[T] and Writes[T]

    Reads/Writes a T at JsPath using provided implicit Reads[T] and Writes[T]

    Please note we couldn't call it "format" to prevent conflicts

  48. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  49. def toJsonString: String
  50. def toString(): String
    Definition Classes
    JsPath → AnyRef → Any
  51. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  52. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  53. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  54. def write[T](t: T)(implicit w: Writes[T]): OWrites[JsValue]

    Writes a pure value at given JsPath

  55. def write[T](implicit w: Writes[T]): OWrites[T]

    Writes a T at given JsPath

  56. def writeNullable[T](implicit w: Writes[T]): OWrites[Option[T]]

    Writes a Option[T] at given JsPath If None => doesn't write the field (never writes null actually) else => writes the field using implicit Writes[T]

  57. def writeOptionWithNull[T](implicit w: Writes[T]): OWrites[Option[T]]

    Writes a Option[T] at given JsPath If None => writes 'null' else => writes the field using implicit Writes[T]

  58. object json

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped