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 ArrayNodeReadsobject BigIntReadsobject BigIntegerReadsobject BooleanReadsobject ByteReadsobject DoubleReadsobject FloatReadsobject IntReadsobject IsoDateReadsobject JsArrayReadsobject JsBooleanReadsobject JsNumberReadsobject JsObjectReadsobject JsStringReadsobject JsValueReadsobject JsonNodeReadsobject LongReadsobject ObjectNodeReadsobject ShortReadsobject StringReadsclass 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
Avaluefinal 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
Avaluefinal 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
Avaluefinal 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
Readsto run if this one gets aJsError
Attributes
- Returns
-
A new
Readswith 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
Readsto run if this one gets aJsError
Attributes
- Returns
-
A new
Readswith 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
Readsto run if this one gets aJsError
Attributes
- Returns
-
A new
Readswith 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]