![](/img/trans.png)
[英]No Json serializer found for type Seq[(String, String)]. Try to implement an implicit Writes or Format for this type
[英]Scala : No Json serializer found for type Object. Try to implement an implicit Writes or Format for this type
我有兩個函數,一個函數根據其ID返回一個用戶,第二個函數根據其ID返回多個用戶,
第一個函數返回此數組: User[id=1, name="name1", lastName= "lastname1"]
第二個函數返回此信息: [User [id=1, name="name1", lastName= "lastname1"], User [id=2, name="name2", lastName= "lastname2"]]
我的第一個scala函數如下,並且json返回正確,並且我沒有錯誤:
Option(Try(id.toLong) match {
case Success(id) => User.getUserById(1)
}) match {
case Some(user) => Ok(Json.toJson(user) )
case None => NotFound
}
但是我的第二個scala函數返回一個錯誤(請參閱我的標題):
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
}
我的getUsersByIds函數:
public static synchronized ArrayList<User> getUsersByIds(List usersIDs) {
String strSQL = "SELECT * FROM User WHERE ID IN" + usersIDs) ;
ArrayList<User> userList = getArrayList(strSQL);
return userList
}
如何返回正確的json格式以獲取所有用戶? 我需要添加地圖嗎? 如果是這樣,如何?
謝謝
默認情況下,Play僅具有Scala集合的序列化器。 這應該使其工作:
import scala.collection.JavaConverters._
Json.toJson(users.asScala)
好的,我找到了:.asScala解決了這個問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.