Scala:找不到类型为Object的Json序列化程序。尝试为此类型实现隐式写入或格式

时间:2016-04-14 20:31:34

标签: json scala

我有两个函数,一个根据他的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格式以获取所有用户?我需要添加地图吗?如果是这样,怎么样?

谢谢

2 个答案:

答案 0 :(得分:0)

默认情况下,Play仅包含Scala集合的序列化程序。 这应该使它工作:

import scala.collection.JavaConverters._

Json.toJson(users.asScala)

答案 1 :(得分:0)

好的我发现:.asScala解决了问题