2016-04-12 67 views
1

我有一个Map [String,List [String]]类型的对象。应该很容易序列化。事实上,如果我在项目目录中运行控制台,我可以这样做:斯卡拉,玩:IntelliJ无法序列化地图[字符串,列表[字符串]]

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(旗舰版)抱怨

No Json serializer found for type scala.collection.Map[String,List[String]]. Try to implement an implicit Writes or Format for this type. 

即使相同的导入play.api.libs.json._在那里。我很困惑。任何提示?

+1

这是警告或错误?我会尝试使缓存无效并首先重新启动IntelliJ。 –

+0

@RobertUdah这是一个适当的错误:/和无效的缓存没有帮助.. – ticofab

+1

从日志,它显示它期望一个隐含的值的写入。 –

回答

1

很蹩脚:问题是scala.collection.Map和scala.Predef.Map(== scala.collection.immutable.Map)之间的(隐藏的)不匹配。我希望它会更加明显。

相关问题