gpt4 book ai didi

json - scala play 读取解析嵌套的 json

转载 作者:行者123 更新时间:2023-12-03 20:18:38 25 4
gpt4 key购买 nike

我正在使用 implicit val reads将 Json 映射为:

{
"id": 1
"friends": [
{
"id": 1,
"since": ...
},
{
"id": 2,
"since": ...
},
{
"id": 3,
"since": ...
}
]
}

到案例类
case class Response(id: Long, friend_ids: Seq[Long])

我只能让它与反射(reflect) JSON 的中间类一起工作 friends结构体。但我从来没有在我的应用程序中使用它。有没有办法写 Reads[Response]对象以便我的 Response 类可以直接映射到给定的 JSON?

最佳答案

你只需要简单的 Reads[Response] 和显式 Reads.seq()friend_ids

val r: Reads[Response] = (
(__ \ "id").read[Long] and
(__ \ "friends").read[Seq[Long]](Reads.seq((__ \ "id").read[Long]))
)(Response.apply _)

结果将是:
r.reads(json)

scala> res2: play.api.libs.json.JsResult[Response] = JsSuccess(Response(1,List(1, 2, 3)),)

关于json - scala play 读取解析嵌套的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36202938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com