[英]No instance of play.api.libs.json.Format is available for scala.Predef.Map[java.lang.String, scala.Option[scala.Double]]
[英]No instance of play.api.libs.json.Format is available for scala.Iterable[java.lang.String]
尝试使用Play版本2.6.2和Scala 2.11.11映射一个简单的类
import play.api.libs.json._
import play.api.libs.json.util._
import play.api.libs.json.Reads._
import play.api.libs.json.Writes._
import play.api.libs.json.Format._
import play.api.libs.functional.syntax._
case class ObjectInfo (
names : Iterable[String],
info : Iterable[String]
)
object ObjectInfo {
/**
* Mapping to and from JSON.
*/
implicit val documentFormatter = Json.format[ObjectInfo]
}
得到:
隐式范围内的scala.Iterable [java.lang.String],scala.Iterable [java.lang.String]都无法使用play.api.libs.json.Format实例(提示:如果在同一文件中声明,确保之前已声明)
我期望Play能够自动映射这些字段,因为它们不是复杂的对象类型而是简单的字符串集合。
您在导入中提供了“太多”的隐式内容。 如果删除除第一个导入以外的所有导入,它将编译并执行您想要的操作。
如果通过scalac选项-Xlog-implicits
启用隐式参数日志记录,则会看到各种“模糊性”和“发散的隐式扩展”错误。 发生冲突的导入是import play.api.libs.json.Reads._
/ import play.api.libs.json.Writes._
和import play.api.libs.json.Format._
。 也许其他人可以更详细地解释这种冲突。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.