-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Play Serialisers
scala> import play.api.libs.json.Json._
import play.api.libs.json.Json._
scala> import play.api.libs.json._
import play.api.libs.json._
scala> final case class Android(name: String, version: String)
defined class Android
scala> final case class AiResponse[T](body: T)
defined class AiResponse
scala> implicit val androidFormat: Format[Android] = Json.format[Android]
androidFormat: play.api.libs.json.Format[Android] = play.api.libs.json.OFormat$$anon$1@2cb66c68
scala> val androidAiResponseFormat = Json.format[AiResponse[Android]]
androidAiResponseFormat: play.api.libs.json.OFormat[AiResponse[Android]] = play.api.libs.json.OFormat$$anon$1@704adf36Serialisation
scala> Json.toJson(AiResponse(body = Android(name = "android", version = "1.0")))
res1: play.api.libs.json.JsValue = {"body":{"name":"android","version":"1.0"}}Deserialisation
scala> Json.fromJson[AiResponse[Android]](Json.parse("""{"body":{"name":"android","version":"1.0"}}"""))
res3: play.api.libs.json.JsResult[AiResponse[Android]] = JsSuccess(AiResponse(Android(android,1.0)),)Metadata
Metadata
Assignees
Labels
No labels