![](/img/trans.png)
[英]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.