A Reads
object describes how to decode JSON into a value. Reads
objects are typically provided as implicit values. When Reads
implicit values are in scope, a program is able to deserialize JSON into values of the right type.
The inverse of a Reads
object is a Writes object, which describes how to encode a value into JSON. If you combine a Reads
and a Writes
then you get a Format.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object BigIntReads.typeobject BigIntegerReads.typeobject BooleanReads.typeobject ByteReads.typeobject DoubleReads.typeobject FloatReads.typeobject IntReads.typeobject JsArrayReads.typeobject JsBooleanReads.typeobject JsNumberReads.typeobject JsObjectReads.typeobject JsStringReads.typeobject JsValueReads.typeobject LongReads.typeobject ShortReads.typeobject StringReads.typeclass UUIDReadertrait Format[A]trait OFormat[A]Show all
- Self type
-
Reads[A]
Members list
Value members
Concrete methods
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
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
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
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
valuefinal 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
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
valuefinal 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
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
valuefinal 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
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
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
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
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 aJsError
Attributes
- Returns
-
A new
Reads
with the updated behavior.
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 aJsError
Attributes
- Returns
-
A new
Reads
with the updated behavior.
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 aJsError
Attributes
- Returns
-
A new
Reads
with the updated behavior.
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
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
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
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
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]