Ich experimentiere mit Scala und Play herum. Ich möchte ein Tuple zurückgeben, in diesem Fall ein Tuple3, könnte aber Tuple beliebiger Größe sein. Ich möchte das Tupel als JSON serialisieren, aber Play scheint nicht zu wissen, wie man ein Tupel serialisiert.Play Framework Serial Tuple3
Ich bin nur versuchen, etwas sehr einfach wie folgt
def getClient(clientId: Int) = Action {
val result = ("I", "AM", "TUPLE")
Ok(Json.toJson(result))
}
Kein Json Serializer für Typ (String, String, String) gefunden zu tun. Versuchen Sie ein implizites Schreiben oder Format für diesen Typ zu implementieren.
Ich habe so etwas versucht, aber es scheint nur auf Tuple2 zu funktionieren.
val seq = Seq[(String,String)](("attr1"->"val1"),("attr2"->"val2"))
val s = Json.toJson(seq.map(e => Json.obj((e._1 -> e._2))))
Ok(s).as(JSON)
tun Warum wollen Sie eine Tuple3 als Json Rendre? Wie willst du deinen Json aussehen? Wenn Sie das wissen, können Sie Ihren eigenen impliziten Autor schreiben. Aber gibt es einen Grund, warum Sie keine Fallklasse verwenden möchten? – Simon
Was ist, wenn meine Serviceklassenmethode Tuple (Client, Seq [Project]) zurückgibt, würde ich das als Json serialisieren wollen, um zum Client zurückzukehren. In Java würde ich sie einfach in ein DTO-Objekt einbinden. Sie fragen sich, ob Sie vielleicht dasselbe in Scala machen müssen. – greyfox
Okay .. aber was JSON erwartest du genau? –