jzadeh
jzadeh

Reputation: 703

How to convert Map to Json using Json4s

I am using the json4s library to convert maps in scala to json but keep running into a basic error when operating on Map[Char,Int]:

Here is the code sample that is giving me problems.

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

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

    render(myMap)

error: No implicit view available from (Char, Int) => org.json4s.JsonAST.JValue.

Question: What is the correct way to convert a Map that is made of [Char, Int] to a Json object using Json4s?

Upvotes: 2

Views: 6277

Answers (2)

Thomas Decaux
Thomas Decaux

Reputation: 22671

Also you could consider to use

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

From Scala 2.10

Upvotes: 1

Dan Getz
Dan Getz

Reputation: 9135

The keys of a JSON object are always strings, and furthermore, there is no equivalent of Char in JSON. See json.org for the specification.

You could convert the keys of your Map[Char, Int] before rendering:

myMap.map { case(k, v) => (k.toString, v) }

Upvotes: 6

Related Questions