[英]No instance of play.api.libs.json.Format is available for scala.Iterable[java.lang.String]
Trying to map a simple class using play version 2.6.2 and scala 2.11.11 尝试使用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]
}
getting: 得到:
No instance of play.api.libs.json.Format is available for scala.Iterable[java.lang.String], scala.Iterable[java.lang.String] in the implicit scope (Hint: if declared in the same file, make sure it's declared before)
隐式范围内的scala.Iterable [java.lang.String],scala.Iterable [java.lang.String]都无法使用play.api.libs.json.Format实例(提示:如果在同一文件中声明,确保之前已声明)
I was expecting Play to automatically map these fields since they're not complex object types but simple Collection of strings. 我期望Play能够自动映射这些字段,因为它们不是复杂的对象类型而是简单的字符串集合。
You provide "too much" implicit stuff with your imports. 您在导入中提供了“太多”的隐式内容。 If you remove all imports but the first one, it will compile and do what you want.
如果删除除第一个导入以外的所有导入,它将编译并执行您想要的操作。
If you enable implicit parameter logging via the scalac option -Xlog-implicits
, you will see various "ambigouity" and "diverging implicit expansion" errors. 如果通过scalac选项
-Xlog-implicits
启用隐式参数日志记录,则会看到各种“模糊性”和“发散的隐式扩展”错误。 The conflicting imports are import play.api.libs.json.Reads._
/ import play.api.libs.json.Writes._
and import play.api.libs.json.Format._
. 发生冲突的导入是
import play.api.libs.json.Reads._
/ import play.api.libs.json.Writes._
和import play.api.libs.json.Format._
。 Maybe someone else can explain this conflict in more detail. 也许其他人可以更详细地解释这种冲突。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.