如何将类型为Map [String,Map [String,Any]]的嵌套映射转换为Scala中的JSON?

时间:2016-07-12 13:33:20

标签: json scala jackson json4s spray-json

我尝试将Scala中的Map [String,Map [String,Any]]转换为JSON,但由于它们具有嵌套映射,因此无法执行此操作。有办法吗?我尝试查看此link但它将所有内容转换为字符串并将列表转换为“List(...)”。任何想法如何去做?我对Map [String,Map [String,String]]的解决方案很满意。

2 个答案:

答案 0 :(得分:1)

您可以使用play-json library。然后转换嵌套的地图将如下所示:

import play.api.libs.json.{JsValue, Json}

val nestedMap: Map[String, Map[String, String]] = Map("employees" -> Map("Paul" -> "developer", "Alice" -> "accountant"))
val json: JsValue = Json.toJson(nestedMap)
val compactJson: String = Json.stringify(json)

println(compactJson)

输出:

{"employees":{"Paul":"developer","Alice":"accountant"}}

答案 1 :(得分:0)

感谢。我也看到一个人可以做紧凑(渲染(decompose(nestedMap)))。我在这里谈论netliftweb.json库