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("No Json formatter found for type ${A}. Try to implement an implicit Format for this type.")
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. def andThen[B](rb: Reads[B])(implicit witness: <:<[A, JsValue]): Reads[B]
    Definition Classes
    Reads
  2. def collect[B](error: JsonValidationError)(f: PartialFunction[A, B]): Reads[B]
    Definition Classes
    Reads
  3. 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
  4. 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
  5. def filter(error: JsonValidationError)(f: (A) => Boolean): Reads[A]
    Definition Classes
    Reads
  6. def filter(f: (A) => Boolean): Reads[A]
    Definition Classes
    Reads
  7. def filterNot(error: JsonValidationError)(f: (A) => Boolean): Reads[A]
    Definition Classes
    Reads
  8. def filterNot(f: (A) => Boolean): Reads[A]
    Definition Classes
    Reads
  9. def flatMap[B](f: (A) => Reads[B]): Reads[B]
    Definition Classes
    Reads
  10. 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
  11. 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
  12. 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
  13. 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
  14. def transform(transformer: (JsValue) => JsValue): Writes[A]

    Transforms the resulting JsValue using transformer function.

    Transforms the resulting JsValue using transformer function.

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