我有一个名为Recording的案例类,我可以使用spray-json正确序列化,但我不能序列化List [Recording]。
我在List序列化方面看到的答案涉及缺少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)
}
}
我收到的错误是:
Error:(16, 24) Cannot find JsonWriter or JsonFormat type class for List[Recording]
println(recordings.toJson.prettyPrint)
^
编辑:问题已解决
import DefaultJsonProtocol._
是多余的,因为RecordingJsonProtocol扩展了DefaultJsonProtocol - 但它不仅是多余的,而且还阻止了RecordingJsonProtocol的工作。