final class WithOptions[Opts <: MacroOptions] extends JsonFacade with JsMacrosWithOptions[Opts]
- Alphabetic
- By Inheritance
- WithOptions
- JsMacrosWithOptions
- JsMacros
- JsonFacade
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def arr(items: JsValueWrapper*): JsArray
Returns a JsArray with given items.
Returns a JsArray with given items.
- Definition Classes
- WithOptions → JsonFacade
- Annotations
- @inline()
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def asciiStringify(json: JsValue): String
Converts a JsValue to its string representation, escaping all non-ascii characters using
\u005CuXXXX
syntax.Converts a JsValue to its string representation, escaping all non-ascii characters using
\u005CuXXXX
syntax.This is particularly useful when the output JSON will be executed as javascript, since JSON is not a strict subset of javascript (see JSON: The JavaScript subset that isn't).
import play.api.libs.json.{ Json, JsString } Json.asciiStringify(JsString("some\\u005Ctext\\u005C")) // => "some\\u005Ctext\\u005C" Json.stringify(JsString("some\\u005Ctext\\u005C")) // => "sometext"
- json
the JsValue to convert A String with the json representation with all non-ascii characters escaped.
- Definition Classes
- WithOptions → JsonFacade
- Annotations
- @inline()
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- val config: Aux[Opts]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- macro def format[A]: OFormat[A]
Creates a
OFormat[T]
by resolving, at compile-time, the case class fields or sealed family, and the required implicits.Creates a
OFormat[T]
by resolving, at compile-time, the case class fields or sealed family, and the required implicits.If any missing implicit is discovered, compiler will break with corresponding error.
- A
the type for which the handler must be materialized
import play.api.libs.functional.syntax._ import play.api.libs.json.{ Json, JsonConfiguration, __ } case class User(userName: String, age: Int) val userFormat1 = Json.format[User] // macro-compiler replaces Json.format[User] by injecting into compile chain // the exact code you would write yourself. This is strictly equivalent to: val userFormat2 = ( (__ \ implicitly[JsonConfiguration].naming("userName")).format[String] and (__ \ implicitly[JsonConfiguration].naming("age")).format[Int] )(User.apply, unlift(User.unapply))
- Definition Classes
- JsMacrosWithOptions → JsMacros
- def fromJson[T](json: JsValue)(implicit fjs: Reads[T]): JsResult[T]
Converts a JsValue to a value of requested type
T
.Converts a JsValue to a value of requested type
T
.- T
The type of conversion result, only supported if a Reads implicit is available for.
- json
the JsValue to convert
- Definition Classes
- WithOptions → JsonFacade
- Annotations
- @inline()
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def obj(fields: (String, JsValueWrapper)*): JsObject
Returns a JsObject with given fields.
Returns a JsObject with given fields.
- fields
the object fields specified as pairs of name and value
- Definition Classes
- WithOptions → JsonFacade
- Annotations
- @inline()
- def parse(input: Array[Byte]): JsValue
Parses some bytes representing a JSON input, and returns it as a JsValue.
Parses some bytes representing a JSON input, and returns it as a JsValue.
The character encoding used will be automatically detected as UTF-8, UTF-16 or UTF-32, as per the heuristics in RFC-4627.
- input
the byte array to parse
- Definition Classes
- WithOptions → JsonFacade
- Annotations
- @inline()
- def parse(input: InputStream): JsValue
Parses a stream representing a JSON input, and returns it as a JsValue.
Parses a stream representing a JSON input, and returns it as a JsValue.
- input
the InputStream to parse
- Definition Classes
- WithOptions → JsonFacade
- Annotations
- @inline()
- def parse(input: String): JsValue
Parses a String representing a JSON input, and returns it as a JsValue.
Parses a String representing a JSON input, and returns it as a JsValue.
- input
the String to parse
- Definition Classes
- WithOptions → JsonFacade
- Annotations
- @inline()
- def prettyPrint(json: JsValue): String
Converts a JsValue to its pretty string representation using default pretty printer (line feeds after each fields and 2-spaces indentation).
Converts a JsValue to its pretty string representation using default pretty printer (line feeds after each fields and 2-spaces indentation).
import play.api.libs.json.Json val res0 = Json.obj( "field1" -> Json.obj( "field11" -> "value11", "field12" -> Json.arr("alpha", 123L) ) ) // => {"field1":{"field11":"value11","field12":["alpha",123]}} Json.prettyPrint(res0) // => // { // "field1" : { // "field11" : "value11", // "field12" : [ "alpha", 123 ] // } // }
- json
the JsValue to convert A String with the json representation.
- Definition Classes
- WithOptions → JsonFacade
- Annotations
- @inline()
- macro def reads[A]: Reads[A]
Creates a
Reads[T]
by resolving, at compile-time, the case class fields or sealed family, and the required implicits.Creates a
Reads[T]
by resolving, at compile-time, the case class fields or sealed family, and the required implicits.If any missing implicit is discovered, compiler will break with corresponding error.
- A
the type for which the handler must be materialized
import play.api.libs.json.{ Json, Reads } case class User(userName: String, age: Int) implicit val userReads: Reads[User] = Json.using[Json.MacroOptions with Json.DefaultValues].reads[User]
- Definition Classes
- JsMacrosWithOptions → JsMacros
- def stringify(json: JsValue): String
Converts a JsValue to its string representation.
Converts a JsValue to its string representation.
import play.api.libs.json.Json val input = Json.obj( "field1" -> Json.obj( "field11" -> "value11", "field12" -> Json.arr("alpha", 123L) ) ) Json.stringify(input) // => {"field1":{"field11":"value11","field12":["alpha",123]}}
- json
the JsValue to convert
- returns
a String with the json representation
- Definition Classes
- WithOptions → JsonFacade
- Annotations
- @inline()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toBytes(json: JsValue): Array[Byte]
Converts a JsValue to bytes (using UTF-8 encoding).
Converts a JsValue to bytes (using UTF-8 encoding).
- json
the JsValue to convert
- returns
an
Array[Byte]
representing the UTF-8-encoded JSON
- Definition Classes
- WithOptions → JsonFacade
- Annotations
- @inline()
- def toJsObject[T](o: T)(implicit tjs: OWrites[T]): JsObject
Converts any object writeable value to a JsObject.
Converts any object writeable value to a JsObject.
A value is writeable as an object, if a OWrites implicit is available for its type.
- T
the type of the value to be written as
JsObject
- o
the value to convert as JSON object
- Definition Classes
- WithOptions → JsonFacade
- Annotations
- @inline()
- def toJson[T](o: T)(implicit tjs: Writes[T]): JsValue
Converts any writeable value to a JsValue.
Converts any writeable value to a JsValue.
A value is writeable if a Writes implicit is available for its type.
- T
the type of the value to be written as JSON
- o
the value to convert as JSON
- Definition Classes
- WithOptions → JsonFacade
- Annotations
- @inline()
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- macro def writes[A]: OWrites[A]
Creates a
OWrites[T]
by resolving, at compile-time, the case class fields or sealed family, and the required implicits.Creates a
OWrites[T]
by resolving, at compile-time, the case class fields or sealed family, and the required implicits.If any missing implicit is discovered, compiler will break with corresponding error.
- A
the type for which the handler must be materialized
import play.api.libs.functional.syntax._ import play.api.libs.json.{ Json, JsonConfiguration, __ } case class User(userName: String, age: Int) implicit val userWrites1 = Json.writes[User] // macro-compiler replaces Json.writes[User] by injecting into compile chain // the exact code you would write yourself. This is strictly equivalent to: implicit val userWrites2 = ( (__ \ implicitly[JsonConfiguration].naming("userName")).write[String] and (__ \ implicitly[JsonConfiguration].naming("age")).write[Int] )(unlift(User.unapply))
- Definition Classes
- JsMacrosWithOptions → JsMacros
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)