2

我正在使用 json4s 库将 scala 中的地图转换为 json,但在 Map[Char,Int] 上操作时一直遇到基本错误:

这是给我带来问题的代码示例。

  import org.json4s.jackson.JsonMethods._
  import org.json4s.JsonDSL.WithDouble._

    val myMap = Map('a' -> 123)

    render(myMap)

错误:(Char, Int) => org.json4s.JsonAST.JValue 没有可用的隐式视图。

问题:使用 Json4s 将由 [Char, Int] 组成的 Map 转换为 Json 对象的正确方法是什么?

4

2 回答 2

6

CharJSON 对象的键始终是字符串,而且在 JSON中没有等价物。有关规范,请参见json.org

您可以Map[Char, Int]在渲染之前转换您的键:

myMap.map { case(k, v) => (k.toString, v) }
于 2014-06-09T11:36:44.620 回答
1

你也可以考虑使用

``println(scala.util.parsing.json.JSONObject(m))```

从 Scala 2.10

于 2016-10-17T13:00:05.143 回答