play.api.libs.json.Format没有实例可用于scala.Iterable [java.lang.String中]

问题描述:

尝试使用的打版2.6.2和Scala 2.11.11play.api.libs.json.Format没有实例可用于scala.Iterable [java.lang.String中]

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] 

} 
映射一个简单的类

获得:

play.api.libs.json.Format没有实例可用于 scala.Iterable [java.lang.String中],scala.Iterable [java.lang.String中在 的隐含范围(提示:如果在同一个文件中声明,请确保它是之前声明的 )

我在期待Play自动映射这些字段,因为它们不是复杂的对象类型,而是简单的字符串集合。

您提供“太多”隐含的东西与您的导入。如果你删除了第一个导入的所有导入项,它将会编译并做你想要的。

如果通过scalac选项-Xlog-implicits启用隐式参数记录,则会看到各种“ambigouity”和“diverging implicit expansion”错误。冲突的进口是import play.api.libs.json.Reads._/import play.api.libs.json.Writes._import play.api.libs.json.Format._。也许别人可以更详细地解释这个冲突。