如何在Play框架中将Scala Map序列化为Json?

时间:2014-04-24 01:49:30

标签: json scala playframework-2.2

看起来Play Json Library无法序列化Scala集合。 有没有其他选择。我只需要从地图中转储数据。

import scala.concurrent._
import play.api.libs.ws._
import scala.concurrent.ExecutionContext.Implicits.global
import play.libs.Json

object temp {

        // Correct Serialization
        val javaMap = new java.util.HashMap[String, String]()

        javaMap.put("Abc", "Def")

        // Outputs: res1: String = {"Abc":"Def"}
        Json.stringify(Json.toJson(javaMap))


        // Incorrect Serialization
        val scalaMap = Map("Abc" -> "Def")           //> scalaMap  : scala.collection.immutable.Map[String,String] = Map(Abc -> Def)

        // Output: res2: String = {"empty":false,"traversableAgain":true}
        Json.stringify(Json.toJson(scalaMap))       //> res2: String = {"empty":false,"traversableAgain":true}

    }

1 个答案:

答案 0 :(得分:12)

您正在导入错误的JSON库。

import play.api.libs.json._