我有一个名为 Recording 的案例类,我可以使用 Spray-json 正确序列化它,但无法序列化 List[Recording]。
我看到的关于列表序列化的答案涉及缺少 DefaultJsonProtocol._ 的导入,但这对我没有帮助。
这是代码:
import spray.json._
import scala.collection.immutable
object RecordingJsonProtocol extends DefaultJsonProtocol {
implicit val recordingFormat = jsonFormat2(Recording.apply)
}
case class Recording(name: String, hashOffsetIndex: immutable.Map[String, Int])
object RecordingLoader {
import RecordingJsonProtocol._
import DefaultJsonProtocol._
def recordingsToJson(filename: String, recordings : List[Recording]) = {
println(recordings.toJson.prettyPrint)
}
}
Run Code Online (Sandbox Code Playgroud)
我收到的错误是:
Error:(16, 24) Cannot find JsonWriter or JsonFormat type class for List[Recording]
println(recordings.toJson.prettyPrint)
^
Run Code Online (Sandbox Code Playgroud)
编辑:问题已解决
import DefaultJsonProtocol._
Run Code Online (Sandbox Code Playgroud)
是多余的,因为 RecordingJsonProtocol 扩展了 DefaultJsonProtocol ——但这不仅仅是多余的,它还会阻止 RecordingJsonProtocol 工作。
| 归档时间: |
|
| 查看次数: |
1102 次 |
| 最近记录: |