【发布时间】:2016-06-14 19:34:55
【问题描述】:
我正在尝试使用 Play(2.2.x) 的 scala/anorm 显示来自数据库的 json 数据,如果我进行以下试验,我会收到如下错误:type mismatch; found : scala.collection.immutable.Stream[String] required: String,但如果我这样写:sql( ).map(row => rowString).toString - 正在提供 Stream 类型的 json 数据(我不需要它),那么我怎样才能得到我的普通 json 数据呢?请帮助我并提前致谢。
控制器:
class Test extends Controller {
def getTest = Action {
var sql: SqlQuery = SQL("select name::TEXT from test");
def values: String = DB.withConnection { implicit connection =>
sql().map(row => row[String]("name"))//giving error: type mismatch; found : scala.collection.immutable.Stream[String] required: String
}
Ok(values)
}
【问题讨论】:
-
你有一个
Stream,一个懒惰的集合。第一个元素被评估,但任何其他元素都不是你得到?的原因。这表示可能仍有数据剩余。你看到的`是逃逸。不知道如何摆脱困境。 -
@Reactormonk,感谢您的回复,但这是存储在我的数据库中的唯一 json 对象(因此数据库中没有其他数据可用,我的意思是通常我们有 id,我不想要显示),我需要在点击查看页面上的 url 时显示,我的查询有什么错误吗?如何删除那些流/斜杠/?在我的 json 中?
-
你有json还是
Stream的json? -
@Reactormonk,我得到的 json 如下: Stream("[{\"_testid\":{\"test0id\":\"123\"},{\"testtitle\":\ "123\"}"}]", ?) 。但我想要的 json 像:[{"__testid":{"test0id":"123"},{"testtitle":"123"}}]。我需要从我的json格式中删除斜杠/流/?有没有机会从我的 json 中删除所有这些?
-
你从哪里得到的?这里有问题。
Stream("foo")表示你有Stream[String],而不是String。
标签: json scala scala-collections anorm