scala spray-json

scala - Serialize Map[String, Any] con spray json



spray-json (2)

¿Cómo serializo Map [String, Any] con spray-json? lo intento

val data = Map("name" -> "John", "age" -> 42) import spray.json._ import DefaultJsonProtocol._ data.toJson

Cannot find JsonWriter or JsonFormat type class for scala.collection.immutable.Map[String,Any] .


Aquí hay un convertidor implícito que solía hacer esta tarea:

implicit object AnyJsonFormat extends JsonFormat[Any] { def write(x: Any) = x match { case n: Int => JsNumber(n) case s: String => JsString(s) case b: Boolean if b == true => JsTrue case b: Boolean if b == false => JsFalse } def read(value: JsValue) = value match { case JsNumber(n) => n.intValue() case JsString(s) => s case JsTrue => true case JsFalse => false } }

Se adaptó de esta publicación en el grupo de usuarios de Spray, pero no pude obtener y no tuve que escribir secuencias y mapas anidados en Json, así que los saqué.


Otra opción, que debería funcionar en su caso, es

data.parseJson.convertTo[Map[String, JsValue]]