[英]Finding the implicit value for Json in play
当我使用以下代码时:
import JsonImpl.graphFormat
val js = Json.toJson(g)(graphFormat)
我的代码可以编译并且可以正常工作,但是当我这样做时不起作用,并说:“找不到SGraph类型的Json序列化器。请尝试为此类型实现隐式Writes或Format。”
import JsonImpl.graphFormat
val js = Json.toJson(g)
JsonImpl
是:
object JsonImpl{
implicit val graphFormat = Json.format[SGraph]
}
我不想为我的SGraph
类使用伴侣对象。 这是什么问题,为什么它找不到隐式值?
为了完整起见: Json.format
是一个宏,当您处理宏时,最好确定要返回的内容是适当的静态类型:
object JsonImpl{
implicit val graphFormat: Format[SGraph] = Json.format[SGraph]
}
实际上,每当您处理隐式值时,这都是一个好主意,它将为您省去许多混乱(有时是因为您做错了某些事情,有时是因为编译器已经做了)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.