![](/img/trans.png)
[英]Scala play api for JSON - getting Array of some case class from stringified JSON?
[英]Scala Play: How to map JSON array structure to Case Class
我對 Scala 和 Play 完全陌生,我偶然發現了以下問題:
給定以下 JSON 結構:
[
{
"name": "Adam",
"age": 19
},
{
"name": "Berta",
"age": 22
},
...
]
我想將此 JSON 映射到這樣的案例類:
case class User(name: String, age: Int)
case class Users(users: Seq[User])
或至少像Seq[User]
類的東西。
不知道怎么遍歷JsPath,因為沒有key。
我試圖定義一個隱式讀取,但要么他無法解析符號“讀取”,要么他找不到用戶的隱式。
object User {
implicit val reads: Reads[User] = Json.reads[User]
}
object Users {
implicit val usersReads: Reads[Users] = (
(JsPath).read[Seq[User]]
)(Users.apply _)
}
如何將我的 JSON 映射到工作模型?
像這樣的東西會起作用
import play.api.libs.json._
case class User(name: String, age: Int)
case class Users(users: Seq[User])
object User {
implicit val reads = Json.reads[User]
}
object Users {
implicit val reads: Reads[Users] = Reads {
_.validate[Seq[User]].map(Users(_))
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.