私は2つの読み取りがあります。1つはユーザーです。ユーザーは、登録と呼ばれるメイン読み取りのサブセットです。
{
user: {
id: "35fc8ba5-56c3-4ebe-9a21-489a1a207d2e",
username: "flastname",
first_name: "FirstName",
last_name: "LastName",
email_address: "first@foobar.com",
user_avatar: "http://blog.ideeinc.com/wp-content/uploads/2010/04/tineye-robot.jpg"
},
activity_type: 8
}
登録:パッケージモデル
import play.api.libs.json._ import play.api.libs.functional.syntax._
case class Registration( user: (String,String,String,String,String,String), activityType: Int )
object Registration {
implicit val regReads: Reads[Registration] = (
(__ \ "user").read(
(__ \ "id").read[String] ~
(__ \ "username").read[String] ~
(__ \ "first_name").read[String] ~
(__ \ "last_name").read[String] ~
(__ \ "email_address").read[String] ~
(__ \ "user_avatar").read[String]
tupled
) ~
(__ \ "activity_type").read[Int]
)(Registration.apply _)
}
最終的には、ユーザーを独自の別のオブジェクトにしたいと考えています。User を他の複数の読み取りで使用できるようにしたいので、よりモジュール化する必要があります。これは可能ですか?
おまけ:ユーザーは各フィールドをタプルの代わりに個別の変数またはハッシュマップにシリアル化できますか?