user7980 user7980 - 1 month ago 45
Scala Question

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?

Answer

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) }