【发布时间】:2014-03-25 13:47:44
【问题描述】:
假设我需要解析一个 JSON(见下文)。
{ 成功:真 状态码:0 状态消息:“好的” payload { ... } // 一些实际数据 }首先,我正在解析“状态”字段以获取case class Status 的实例(见下文)
这有意义吗?
statusList 的类型是List[Status]。它包含一个 Status 项目。如果解析失败,statusList 为空。我不喜欢它,因为我想要Option[Status] 而不是List[Status]
我可以使用headOption 轻松地将List[Status] 转换为Option[Status],但我想直接获得Option[Status]。
我可以用 json4s 解析 JSON 以获得 Option[Status] 先不获得 List[Status] 吗?
【问题讨论】:
-
如果您可以“直接获取
Option[Status]”,哪些特别不适用于headOption?我不明白你的问题。 -
headOption确实有效。先得到List然后再转换成Option看起来很尴尬。 -
在代码格式或性能方面有问题?
-
这里我不太关心性能。