2016-04-14 4 views
0

ich zwei Funktionen haben, gibt man einen einzelnen Benutzer auf der Grundlage seiner ID und die zweite Rückkehr mehrere Benutzer auf der Grundlage ihrer ids,Scala: Kein Json-Serializer für Typ Objekt gefunden. Versuchen Sie, eine implizite Writes oder Format für diese Art zu implementieren

Die erste Funktion dieses Array zurück: User[id=1, name="name1", lastName= "lastname1"]

die zweite Funktion Rückkehr dies: [User [id=1, name="name1", lastName= "lastname1"], User [id=2, name="name2", lastName= "lastname2"]]

Meine erste scala Funktion ist wie folgt und die json ist gut zurückgekehrt und ich habe keine Fehler:

Option(Try(id.toLong) match { 
    case Success(id) => User.getUserById(1) 
    }) match { 
     case Some(user) => Ok(Json.toJson(user)) 
     case None => NotFound 
    } 

Aber meine zweite scala-Funktion gibt einen Fehler (siehe meinen Titel):

Option(Try(id.toList) match { 
    case Success(id) => User.getUsersByIds(id) // id list is 1,2 
    }) match { 
     case Some(users) => Ok(Json.toJson(users)) 
     case None => NotFound 
    } 

Meine getUsersByIds Funktion:

public static synchronized ArrayList<User> getUsersByIds(List usersIDs) { 


     String strSQL = "SELECT * FROM User WHERE ID IN" + usersIDs) ; 

     ArrayList<User> userList = getArrayList(strSQL); 

    return userList 
    } 

Wie kann ich das Recht json-Format zurückkehren alle meine Nutzer zu bekommen? Ich muss eine Karte hinzufügen? Wenn das so ist, wie ?

danke

+1

Geben Sie den def von getUsersById – cchantep

+0

Sie meinen, den Code von getUsersByIds posten? – user708683

+0

Wir würden zumindest den Rückgabetyp der Funktion 'getUsersByIds' benötigen. Ich nehme an, es ist eine Unterklasse von 'Iterable [User]'. Wenn ja, ist diese Benutzerklasse eine Fallklasse? – irundaia

Antwort

0

standardmäßig Serializer Wiedergabe nur für die Scala Sammlung. Dies sollte es funktioniert:

import scala.collection.JavaConverters._ 

Json.toJson(users.asScala) 
+0

Hallo n1r3, ich habe einen Fehler: Wert toSeq ist kein Mitglied von java.util.ArrayList [Benutzer] – user708683

+0

Sorry - aktualisiert meine Antwort. – n1r3

0

Ok ich es gefunden: .asScala löst das Problem

Verwandte Themen