【发布时间】:2016-04-12 10:12:25
【问题描述】:
我有一个 Map[String, List[String]] 类型的对象。应该很容易序列化。事实上,如果我在项目目录中运行控制台,我可以这样做:
scala> import play.api.libs.json._
import play.api.libs.json._
scala> Json.toJson(Map("ab" -> List("yo", "yo2", "yo3"), "cd" -> List("hi", "hi1", "hi2")))
res1: play.api.libs.json.JsValue = {"ab":["yo","yo2","yo3"],"cd":["hi","hi1","hi2"]}
这很好。但是 IntelliJ (Ultimate) 抱怨说
No Json serializer found for type scala.collection.Map[String,List[String]]. Try to implement an implicit Writes or Format for this type.
即使存在相同的 import play.api.libs.json._。我很困惑。有什么提示吗?
【问题讨论】:
-
这是警告还是错误?我将尝试使缓存无效并首先重新启动 IntelliJ。
-
@RobertUdah 这是一个正确的错误:/ 使缓存无效并没有帮助..
-
从日志看来,它需要一个隐式的写入值。
-
也许可以尝试将导入和代码放入单个代码块
{ import ...; Json.toJson ... }或对象中 -
您使用的是哪个版本的 Play?似乎对于旧版本存在这样的问题:stackoverflow.com/questions/14467689/… 可能在您的 IntelliJ 项目中,您使用的 Play 版本与您在 scala 控制台中导入的不同版本的 json lib 解析不同?
标签: json scala playframework