[英]How to include more than one item in my json object in scala?
I'm trying to include more than one item in my json object (currently I can only add one item),我试图在我的 json object 中包含不止一项(目前我只能添加一项),
In my scala class I have:在我的 scala class 我有:
case class Api(row:Int,name:String,age:Int)
Ok(Json.obj("status" -> "ok", "cars" -> carsBooked.map(_.row), "saved" -> saved, "failed" -> failed, "notBooked" -> Response.errors))
<<---- this works perfectly and I'm able to get a list of all the row in json, but how do i add name and age? Ok(Json.obj("status" -> "ok", "cars" -> carsBooked.map(_.row), "saved" -> saved, "failed" -> failed, "notBooked" -> Response.errors))
<<----这完美地工作,我能够得到json中所有行的列表,但是我如何添加姓名和年龄?
Ideally I wanna do something like carsBooked.map(_.row._name etc..)
理想情况下,我想做类似
carsBooked.map(_.row._name etc..)
Thanks!谢谢!
If we have如果我们有
case class Api(row: Int, name: String, age: Int)
then we can generate codecs automatically .然后我们可以自动生成编解码器。
object Api {
implicit val apiReads: Reads[Api] = Json.reads[Api]
implicit val apiWrites: OWrites[Api] = Writes.writes[Api]
}
and then we could write:然后我们可以写:
Ok(Json.obj("status" -> "ok", "cars" -> Json.toJson(carsBooked), "saved" -> saved, "failed" -> failed, "notBooked" -> Response.errors))
or we can actually make this also automated:或者我们实际上可以使这也自动化:
case class ApiResult(
status: String,
cars: List[Api],
saved: List[String],
failed: List[String],
notSaved: List[String]
)
object ApiResult {
implicit val apiResultReads: Reads[ApiResult] = Json.reads[ApiResult]
implicit val apiResultWrites: OWrites[ApiResult] = Writes.writes[ApiResult]
}
val apiResult: ApiResult = ...
Ok(Json.toJson(apiResult))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.