鉴于以下Enumeration
...
object MyEnum extends Enumeration {
type MyEnum = Value
val Val1 = Value("val1")
val Val2 = Value("val2")
val Val3 = Value("val3")
}
import MyEnum._
...以及以下Map
...
val m = Map(
val1 -> "one",
val2 -> "two",
val3 -> "three"
)
...我需要转换m
为 JSON:
import play.api.libs.json._
val js = Json.toJson(m)
最后一条语句无法编译,因为编译器没有找到 type 的 Json 序列化程序scala.collection.immutable.Map[MyEnum.Value,String]
。
问题:由于 Play 确实为 type 提供了序列化程序scala.collection.immutable.Map[String,String]
,而我的枚举实际上包含字符串,有没有办法重用默认的 JSON 序列化程序?