what used formato for json scala playframework-2.0 hashmap

used - cómo convertir hashMap en objeto json en scala?



json windows (4)

Quiero convertir hashmap en objeto json, mi estructura hashmap es así:

def res=Action{ implicit request=> var response=new HashMap[String,Map[String,String]] response=//etc ....... . . . Ok(write(response)) }

bt no está funcionando.


Intenta así

val data = response.map(value=> value._1 -> Json.toJson(value._2)) Ok(json.toJson(data.toMap))


Prueba esto:

Ok(Json.toJson(response.toMap))

Esto convertiría su HashMap en un Map que se puede escribir como json sin código adicional.


Una solución alternativa sería usar JSON4s. [https://github.com/json4s/json4s] Como ganancia adicional, te proporciona una buena DSL, la capacidad de usar Jackson o no y una excelente manera de deserializar a JSON.

scala> import org.json4s.jackson.Serialization import org.json4s.jackson.Serialization scala> implicit val formats = Serialization.formats(NoTypeHints) formats: org.json4s.Formats{val dateFormat: org.json4s.DateFormat; val typeHints:org.json4s.TypeHints} = org.json4s.Serialization$$anon$1@f40c08d scala> Serialization.write(Map("test" -> "a", "test 2" -> 2)) res1: String = {"test":"a","test 2":2}


You can try like this.... var ls: ListBuffer[(String, Map[String, String])] = ListBuffer() val res = list1.toList.iterator while (res.hasNext) { ls += (("id", getMyMap().toMap)) } println(ls); ls.toList ok(write(ls.toMap)) def getMyMap(): scala.collection.mutable.Map[String, String] = { var m=scala.collection.mutable.Map("Address" -> "strt1", "Mobile" -> 98974) m }

Salida:

{"0":{"Address":"strt1","Mobile":"98974"}}