我發現自己在一個情況下,我需要序列化成JSON非案例類。噴霧json正常類(非情況下)列表
具有A類爲:
class MyClass(val name: String) {
def SaySomething() : String = {
return "Saying something... "
}
}
我創建了一個JsonProtocol該類:
object MyClassJsonProtocol extends DefaultJsonProtocol {
implicit object MyClassJsonFormat extends JsonWriter[MyClass] {
override def write(obj: MyClass): JsValue =
JsObject(
"name" -> JsString(obj.name)
)
}
}
後來在我進口協議的代碼..
val aListOfMyClasses = List[MyClass]() ... // lets assume that has items and not an empty list
import spray.json._
import MyClassJsonProtocol._
val json = aListOfMyClasses.toJson
當試圖構建項目時,出現以下錯誤:
找不到JsonWriter或JsonFormat類型類List [MyClass的]
噴霧JSON對泛型列表已經格式,我提供我的課的形式,會是什麼問題呢?
在此先感謝... !!!
Thks。它的工作原理,但我仍然不知道爲什麼CollectionFormats特性不包括在內。我明確地將它添加到導入,但會編譯ether。 – leonfs 2014-10-30 00:22:55
無需導入CollectionFormats。 DefaultJsonProtocol擴展了所有這些特性 - https://github.com/spray/spray-json/blob/master/src/main/scala/spray/json/DefaultJsonProtocol.scala#L26 – 2014-10-30 02:57:50
我知道,但它沒有解釋爲什麼擴展JsonWriter而不是JsonFormat時它不工作。仍然在擴展DefaultJsonProtocol。 – leonfs 2014-10-30 15:21:08