【发布时间】:2020-12-27 17:24:39
【问题描述】:
我对 Scala 比较陌生。我想将我的 Json 的一部分映射到我的对象。代码如下所示:
def seasons = (json \\ "season")
案例类:
case class Season(startDate: LocalDate, endDate: LocalDate)
json 结构:
[
{
"id": "",
"name": "",
"season": {
"start": "0",
"end": "0"
}
}
]
我想以某种方式结束一个 List[Season],所以我可以循环遍历它。
问题 #2
json-structure:
[
{
"id": "",
"name": "",
"season": {
"start": "0",
"end": "0"
}
},
{
"id": "",
"name": "",
"season": {
"start": "0",
"end": "0"
}
}...
]
Json(顺便说一句,这是一个 JsValue)带来了多个区域,如上所示。提供Case分类(Region持有Season),命名与json中相同。 格式如下所示:
implicit val seasonFormat: Format[Season] = Json.format[Season]
implicit val regionFormat: Format[Region] = Json.format[Region]
那么我需要调用什么来获取 List[Region]?我在定义格式时想到了regionsJson.as[List[Region]] 之类的东西,它为我提供了读/写的可能性。但不幸的是,它不起作用。
这样做的最佳方法是什么?我已经用 JsArray 试过了,但是我在映射它时遇到了困难......
任何意见将不胜感激!
【问题讨论】:
-
问题2的解决方案:regionsJSON.validate[List[Region]].map(_.toList)
标签: json scala playframework mapping