Sieht so aus, als ob Play Json Library Scala Collections nicht serialisieren kann. Gibt es eine Alternative? Ich muss nur die Daten von einer Karte ausgeben.Wie scala Karte zu Json in PlayFramework zu serialisieren?
import scala.concurrent._
import play.api.libs.ws._
import scala.concurrent.ExecutionContext.Implicits.global
import play.libs.Json
object temp {
// Correct Serialization
val javaMap = new java.util.HashMap[String, String]()
javaMap.put("Abc", "Def")
// Outputs: res1: String = {"Abc":"Def"}
Json.stringify(Json.toJson(javaMap))
// Incorrect Serialization
val scalaMap = Map("Abc" -> "Def") //> scalaMap : scala.collection.immutable.Map[String,String] = Map(Abc -> Def)
// Output: res2: String = {"empty":false,"traversableAgain":true}
Json.stringify(Json.toJson(scalaMap)) //> res2: String = {"empty":false,"traversableAgain":true}
}
Ihr Beispielcode ergibt keinen Sinn. Play-Json kann Java-Sammlungen standardmäßig nicht behandeln und es hat kein Problem, eine 'scala.collection.immutable.Map [String, String]' zu behandeln. Ist das alles dein Code? – Ryan
Was ich sage, ist völlig entgegengesetzt. Java-Sammlung wird korrekt behandelt. Überprüfen Sie den Ausgang auf repl. – nishnet2002