1
一般我很少有case類與exacly同樣DEF:圈JSON的特質
def toJson : String = this.asJson.deepMerge(Json.obj(("type", Json.fromString(`type`)))).noSpaces
我想這部分移到特質。 例如:
trait Test[A] {
implicit val encoder: Encoder[A]
def jsonWithType[A] = this.asJson.noSpaces
}
但這返回我當然是一個錯誤:
could not find implicit value for parameter encoder: io.circe.Encoder[io.outofaxis.pixelart.player.server.application.model.Test[A]]
是否有可能實現我的目標?
編輯:
我也發現瞭解決方法,在對象,我需要那些jsons我所做的:
implicit def asJsonWithTypeNoSpaces[A <: SomeEvent](obj: A)(implicit encoder: Encoder[A]): String = {
obj.asJson.deepMerge(Json.obj(("type", Json.fromString(obj.`type`)))).noSpaces
}
和工程罰款