在游戏中找到 Json 的隐式值
Finding the implicit value for Json in play
当我使用以下代码时:
import JsonImpl.graphFormat
val js = Json.toJson(g)(graphFormat)
我的代码编译并运行良好,但是当我这样做时它不起作用并显示:"No Json serializer found for type SGraph. Try to implement an implicit Writes or Format for this type."
import JsonImpl.graphFormat
val js = Json.toJson(g)
JsonImpl
是:
object JsonImpl{
implicit val graphFormat = Json.format[SGraph]
}
我不想为我的 SGraph
class 使用伴随对象。问题是什么,为什么找不到隐含值?
为了完整起见:Json.format
是一个宏,在处理宏时,最好确保返回的内容是适当的静态类型:
object JsonImpl{
implicit val graphFormat: Format[SGraph] = Json.format[SGraph]
}
事实上,无论何时处理隐式值,这都是一个好主意,它会避免很多混乱(有时是因为您做错了什么,有时是因为编译器错了)。
当我使用以下代码时:
import JsonImpl.graphFormat
val js = Json.toJson(g)(graphFormat)
我的代码编译并运行良好,但是当我这样做时它不起作用并显示:"No Json serializer found for type SGraph. Try to implement an implicit Writes or Format for this type."
import JsonImpl.graphFormat
val js = Json.toJson(g)
JsonImpl
是:
object JsonImpl{
implicit val graphFormat = Json.format[SGraph]
}
我不想为我的 SGraph
class 使用伴随对象。问题是什么,为什么找不到隐含值?
为了完整起见:Json.format
是一个宏,在处理宏时,最好确保返回的内容是适当的静态类型:
object JsonImpl{
implicit val graphFormat: Format[SGraph] = Json.format[SGraph]
}
事实上,无论何时处理隐式值,这都是一个好主意,它会避免很多混乱(有时是因为您做错了什么,有时是因为编译器错了)。