我有一个小的Anorm查询,它返回数据库中Service Messages表中的所有行。我最终想把这些行变成JSON。
但是,目前我正在做的是使用.map
函数迭代第一行的元素。我怎么能遍历所有行,所以我可以操纵所有行并将其转换为JSON对象。
val result = DB.withConnection("my-db") { implicit connection =>
val messagesRaw = SQL("""
SELECT *
FROM ServiceMessages
""").apply;
messagesRaw.map(row =>
println(row[String]("title"))
)
}
答案 0 :(得分:0)
实际上你做的是迭代所有行(不仅是第一行)从每一行获取title列的内容。 为了收集所有标题,您需要进行以下微不足道的修改:
val titles = messagesRaw.map(row =>
row[String]("title")
)
将它们转换为json(数组)也很简单:
import play.api.libs.json._
...
Ok(Json.toJson(titles))