scala - Play Framework : No implicit format for Map

标签 scala playframework playframework-2.5 play-json

使用 Play 2.5 我似乎无法序列化 Map[SomeCaseClass, String]

case class SomeCaseClass(value: String)

implicit val formatSomeCaseClass = Json.format[SomeCaseClass]

Json.toJson(Map[SomeCaseClass, String](SomeCaseClass("") -> ""))

错误

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

除非我遗漏了一些明显的东西,否则上面的类型有一个隐式格式。

如果我尝试一些更简单的事情,例如:

Json.toJson(Something(""))
Json.toJson(Map[String, String]("" -> ""))

效果很好。当使用具有更复杂类型的 Map 时,我缺少什么SomeCaseClass

最佳答案

我认为这里的问题来自于json。映射被转换为由键/值对组成的 JSON 对象。这些对象中的键必须是字符串。

因此,Map[String, T] 可以转换为 json 对象,但不能转换为任意 Map[U, T]

关于scala - Play Framework : No implicit format for Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56456727/

相关文章:

java - 将java序列化对象反序列化为Scala类

mysql - Play Framework 2.5 - 不使用内存数据库进行测试

java - 如何在 Controller 外注入(inject) MessagesApi?

scala - Scala ExecutionContext 作为类或方法参数更惯用吗?

java - 如何读取play框架模板中的注释值?

java - 我可以在 Play Framework 2 中使用 specs2 测试 Java Controller 吗?

scala - Scala 方法和函数语法概述

.net - 有没有办法在 Visual Studio 中进行 Scala 编程?

scala - 将Scala中的CSV读取到具有错误处理的案例类实例中