【发布时间】:2014-01-28 19:48:16
【问题描述】:
我正在使用播放框架,并且有一个抽象类:
abstract class Base{...}
在伴生对象中有自己的隐式 JSON 写入器
object Base {
implicit val baseWrites: Writes[Base] = (...)(unlift(Base.unapply))
}
我继承了这个抽象类:
case class SubClass{...}
它的伴生对象中也有自己的隐式 JSON 写入器
object SubClass {
implicit val subClassWrites: Writes[SubClass] = (...)(unlift(SubClass.unapply))
}
当我尝试使用 Json.toJson(SubClass) 序列化子类对象时,出现错误:
[error] both value subClassWrites in object SubClass of type => play.api.libs.json.
Writes[models.SubClass]
[error] and value baseWrites in object Base of type =>
play.api.libs.json.Writes[models.Base]
[error] match expected type play.api.libs.json.Writes[models.SubClass]
[error] Ok(Json.toJson(SubClass.find(id)))
有什么办法可以消除歧义?
【问题讨论】:
标签: json scala playframework playframework-2.0 implicits