JsArrayReads

play.api.libs.json.DefaultReads.JsArrayReads
object JsArrayReads extends Reads[JsArray]

Deserializer for JsArray.

Attributes

Graph
Supertypes
trait Reads[JsArray]
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def reads(json: JsValue): JsResult[JsArray]

Convert the JsValue into a A

Convert the JsValue into a A

Attributes

Inherited methods

def andThen[B](rb: Reads[B])(implicit witness: JsArray <:< JsValue): Reads[B]

Attributes

Inherited from:
Reads
def collect[B](error: JsonValidationError)(f: PartialFunction[JsArray, B]): Reads[B]

Attributes

Inherited from:
Reads
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).

Attributes

Inherited from:
Reads
def filter(error: JsonValidationError)(f: JsArray => Boolean): Reads[A]

Attributes

Inherited from:
Reads
def filter(f: JsArray => Boolean): Reads[A]

Attributes

Inherited from:
Reads
def filterNot(error: JsonValidationError)(f: JsArray => Boolean): Reads[A]

Attributes

Inherited from:
Reads
def filterNot(f: JsArray => Boolean): Reads[A]

Attributes

Inherited from:
Reads
def flatMap[B](f: JsArray => Reads[B]): Reads[B]

Attributes

Inherited from:
Reads
def flatMapResult[B](f: JsArray => 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.

Value parameters

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")
}

Attributes

Inherited from:
Reads
def map[B](f: JsArray => 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.

Type parameters

B

The type of the value produced by the new Reads.

Value parameters

f

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

Attributes

Inherited from:
Reads
def orElse(v: Reads[JsArray]): 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.

Value parameters

v

the Reads to run if this one gets a JsError

Attributes

Returns

A new Reads with the updated behavior.

Inherited from:
Reads
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.

Value parameters

transformer

the function to pre-process the input JSON

Attributes

Inherited from:
Reads
def widen[B >: JsArray]: 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]

Attributes

Inherited from:
Reads

Deprecated and Inherited methods

def compose[B <: JsValue](rb: Reads[B]): Reads[A]

Attributes

Deprecated
true
Inherited from:
Reads