繁体   English   中英

在游戏中查找Json的隐式值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM