在spray-json中序列化List [case class]

时间:2015-11-24 22:53:30

标签: spray-json

我有一个名为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的工作。

0 个答案:

没有答案
相关问题