Packages

trait Format[A] extends Writes[A] with Reads[A]

Json formatter: write an implicit to define both a serializer and a deserializer for any type.

Annotations
@implicitNotFound()
Source
Format.scala
Linear Supertypes
Reads[A], Writes[A], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Format
  2. Reads
  3. Writes
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def reads(json: JsValue): JsResult[A]

    Convert the JsValue into a A

    Convert the JsValue into a A

    Definition Classes
    Reads
  2. abstract def writes(o: A): JsValue

    Converts the A value into a JsValue.

    Converts the A value into a JsValue.

    Definition Classes
    Writes

Concrete 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. def andThen[B](rb: Reads[B])(implicit witness: <:<[A, JsValue]): Reads[B]
    Definition Classes
    Reads
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def bimap[B](readsMap: (A) => B, writesContramap: (B) => A): Format[B]

    Maps reads and writes operations between the types A and B, using the given functions.

    Maps reads and writes operations between the types A and B, using the given functions.

    readsMap

    the function applied to the read A value

  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  8. def collect[B](error: JsonValidationError)(f: PartialFunction[A, B]): Reads[B]
    Definition Classes
    Reads
  9. def composeWith[B <: JsValue](rb: Reads[B]): Reads[A]

    Creates a new Reads, which first passes the input JSON to rb, and then it executes this Reads on the pre-processed JSON (if rb has successfully handled the input JSON).

    Creates a new Reads, which first passes the input JSON to rb, and then it executes this Reads on the pre-processed JSON (if rb has successfully handled the input JSON).

    Definition Classes
    Reads
  10. def contramap[B](f: (B) => A): Writes[B]

    Returns a new instance that first converts a B value to a A one, before converting this A value into a JsValue.

    Returns a new instance that first converts a B value to a A one, before converting this A value into a JsValue.

    Definition Classes
    Writes
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. def filter(error: JsonValidationError)(f: (A) => Boolean): Reads[A]
    Definition Classes
    Reads
  14. def filter(f: (A) => Boolean): Reads[A]
    Definition Classes
    Reads
  15. def filterNot(error: JsonValidationError)(f: (A) => Boolean): Reads[A]
    Definition Classes
    Reads
  16. def filterNot(f: (A) => Boolean): Reads[A]
    Definition Classes
    Reads
  17. def flatMap[B](f: (A) => Reads[B]): Reads[B]
    Definition Classes
    Reads
  18. def flatMapResult[B](f: (A) => JsResult[B]): Reads[B]

    Creates a new Reads, which transforms the successful result from the current instance using the given function.

    Creates a new Reads, which transforms the successful result from the current instance using the given function.

    f

    the function applied on the successful A value

    final class Foo private(val code: String) extends AnyVal
    
    val A = new Foo("A")
    val B = new Foo("B")
    
    import play.api.libs.json.Reads
    
    val r: Reads[Foo] = implicitly[Reads[String]].flatMapResult {
      case "A" => JsSuccess(A)
      case "B" => JsSuccess(B)
      case _   => JsError("error.expected.foo")
    }
    Definition Classes
    Reads
  19. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  20. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. def map[B](f: (A) => B): Reads[B]

    Create a new Reads which maps the value produced by this Reads.

    Create a new Reads which maps the value produced by this Reads.

    B

    The type of the value produced by the new Reads.

    f

    the function applied on the result of the current instance, if successful

    Definition Classes
    Reads
  23. def narrow[B <: A]: Writes[B]

    Narrows to any B super-type of A.

    Narrows to any B super-type of A.

    Definition Classes
    Writes
  24. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  25. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  26. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  27. def orElse(v: Reads[A]): Reads[A]

    Creates a new Reads, based on this one, which first executes this Reads' logic then, if this Reads resulted in a JsError, runs the second Reads on the JsValue.

    Creates a new Reads, based on this one, which first executes this Reads' logic then, if this Reads resulted in a JsError, runs the second Reads on the JsValue.

    v

    the Reads to run if this one gets a JsError

    returns

    A new Reads with the updated behavior.

    Definition Classes
    Reads
  28. def preprocess(f: PartialFunction[JsValue, JsValue]): Reads[A]

    Creates a new Reads, which first transforms the input JSON using the given tranformer, and then it executes this Reads on the pre-processed JSON.

    Creates a new Reads, which first transforms the input JSON using the given tranformer, and then it executes this Reads on the pre-processed JSON.

    Definition Classes
    Reads
  29. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  30. def toString(): String
    Definition Classes
    AnyRef → Any
  31. def transform(transformer: Writes[JsValue]): Writes[A]

    Transforms the resulting JsValue using a Writes[JsValue].

    Transforms the resulting JsValue using a Writes[JsValue].

    Definition Classes
    Writes
  32. def transform(transformer: (JsValue) => JsValue): Writes[A]

    Transforms the resulting JsValue using transformer function.

    Transforms the resulting JsValue using transformer function.

    Definition Classes
    Writes
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  35. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  36. def widen[B >: A]: Reads[B]

    Widen this Reads.

    Widen this Reads.

    import play.api.libs.json.Reads
    
    sealed trait Animal
    case class Dog(name: String) extends Animal
    case class Cat(name: String) extends Animal
    
    def simple(r: Reads[Dog]): Reads[Animal] = r.widen[Animal]
    Definition Classes
    Reads

Deprecated Value Members

  1. def compose[B <: JsValue](rb: Reads[B]): Reads[A]
    Definition Classes
    Reads
    Annotations
    @deprecated
    Deprecated

    (Since version 2.7.0) Use composeWith

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

    (Since version 9)

Inherited from Reads[A]

Inherited from Writes[A]

Inherited from AnyRef

Inherited from Any

Ungrouped