Packages

object JsPath extends JsPath

Companion object and root path.

For an object { "name": "foo" }, the path to the name property is:

import play.api.libs.json.JsPath

JsPath \ "name"

For an object { "id": 1, "nested": { "score": 0.12 } }, the path to the nested score is:

import play.api.libs.json.JsPath

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

Value Members

  1. def ++(other: JsPath): JsPath
    Definition Classes
    JsPath
  2. def \(idx: Int): JsPath
    Definition Classes
    JsPath
  3. def \(child: Symbol): JsPath
    Definition Classes
    JsPath
  4. def \(child: String): JsPath
    Definition Classes
    JsPath
  5. def \\(child: Symbol): JsPath
    Definition Classes
    JsPath
  6. def \\(child: String): JsPath
    Definition Classes
    JsPath
  7. def apply(json: JsValue): List[JsValue]
    Definition Classes
    JsPath
  8. def apply(idx: Int): JsPath
    Definition Classes
    JsPath
  9. def applyTillLast(json: JsValue): Either[JsError, JsResult[JsValue]]
    Definition Classes
    JsPath
  10. def asSingleJsResult(json: JsValue): JsResult[JsValue]
    Definition Classes
    JsPath
  11. def asSingleJson(json: JsValue): JsLookupResult
    Definition Classes
    JsPath
  12. def compose(other: JsPath): JsPath
    Definition Classes
    JsPath
  13. def createObj(pathValues: (JsPath, JsValue)*): JsObject
  14. 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]

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

    Definition Classes
    JsPath
  15. 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]

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

    Definition Classes
    JsPath
  16. def format[T](implicit f: Format[T]): OFormat[T]

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

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

    Definition Classes
    JsPath
  17. 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

    Definition Classes
    JsPath
    See also

    JsPath.readNullable to see behavior in reads

    JsPath.writeNullable to see behavior in writes

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

    Definition Classes
    JsPath
    See also

    JsPath.readNullableWithDefault to see behavior in reads

    JsPath.writeNullable to see behavior in writes

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

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

    Definition Classes
    JsPath
  20. 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).

    Definition Classes
    JsPath
    See also

    JsPath.lazyReadNullable to see behavior in reads

    JsPath.lazyWriteNullable to see behavior in writes

  21. 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).

    Definition Classes
    JsPath
    See also

    JsPath.lazyReadNullable to see behavior in reads

    JsPath.lazyWriteNullable to see behavior in writes

  22. 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).

    Definition Classes
    JsPath
    See also

    JsPath.lazyReadNullable to see behavior in reads

    JsPath.lazyWriteNullable to see behavior in writes

  23. 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).

    Definition Classes
    JsPath
    See also

    JsPath.lazyReadNullable to see behavior in reads

    JsPath.lazyWriteNullable to see behavior in writes

  24. 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 _)
    Definition Classes
    JsPath
  25. 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 _)
    Definition Classes
    JsPath
  26. 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))
    Definition Classes
    JsPath
  27. 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))
    Definition Classes
    JsPath
  28. val path: List[PathNode]
    Definition Classes
    JsPath
  29. def productElementNames: Iterator[String]
    Definition Classes
    Product
  30. def prune(js: JsValue): JsResult[JsObject]

    Simple Prune for simple path and only JsObject

    Simple Prune for simple path and only JsObject

    Definition Classes
    JsPath
  31. 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

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

    Definition Classes
    JsPath
  32. def read[T](implicit r: Reads[T]): Reads[T]

    Reads a T at JsPath

    Reads a T at JsPath

    Definition Classes
    JsPath
  33. 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]

    Definition Classes
    JsPath
  34. 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]

    Definition Classes
    JsPath
  35. def readWithDefault[T](defaultValue: => T)(implicit r: Reads[T]): Reads[T]

    Reads a T at JsPath

    Reads a T at JsPath

    Definition Classes
    JsPath
  36. 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

    Definition Classes
    JsPath
  37. def toJsonString: String
    Definition Classes
    JsPath
  38. def toString(): String
    Definition Classes
    JsPath → AnyRef → Any
  39. def write[T](t: T)(implicit w: Writes[T]): OWrites[JsValue]

    Writes a pure value at given JsPath

    Writes a pure value at given JsPath

    Definition Classes
    JsPath
  40. def write[T](implicit w: Writes[T]): OWrites[T]

    Writes a T at given JsPath

    Writes a T at given JsPath

    Definition Classes
    JsPath
  41. 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]

    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]

    Definition Classes
    JsPath
  42. 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]

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

    Definition Classes
    JsPath
  43. object json
    Definition Classes
    JsPath