Scala提升返回模型作为json对象

Scala提升返回模型作为json对象,json,scala,lift,Json,Scala,Lift,我有以下资料: object API_Chat extends RestHelper { serve { var response = Chat.findAll( ("room" -> "aroom") ~ ("handle" -> "ahandle") ).map(_.asJValue) JsonResponse(write(response(0

我有以下资料:

object API_Chat extends RestHelper {

    serve {

        var response = Chat.findAll(

            ("room" -> "aroom")
            ~
            ("handle" -> "ahandle")

        ).map(_.asJValue)

        JsonResponse(write(response(0)) :: Nil)

    }

}
我要做的是返回一个json对象,该对象包含来自模型聊天的所有值

但是,当我得到响应时,它看起来是这样的:

["{\"name\":\"J1M\",\"_id\":\"4f8d55b240d41dcad5c3f982\",\"target\":\"all\",\"time\":1334662578,\"room\":\"jroom\",\"value\":\":)\",\"user\":\"j1m\",\"handle\":\"f1aaa95db5150a6330552e30918728b5\",\"level\":\"_1\"}"] 
显然,我试图只返回一个项目,因此不确定为什么它被包装在一个数组中,而且它似乎已经逃逸了json字符串

有人能告诉我们怎么做吗


非常感谢您的帮助,提前感谢:

我不确定您想发送什么作为JsonResponse,但您的回复val是一个列表[JValue]。调用writeresponse0将列表中的第一个JValue序列化为字符串。然后将该字符串与Nil连接起来,形成一个包含单个元素的列表[String]。JsonResponse.apply的单参数版本采用JValue,因此将调用net.liftweb.json.JsonDSL seq2jvalue中的隐式转换,该转换将Seq[a]转换为JArray。。。。。这就是为什么您将JSON数组视为响应

如果只想返回第一个元素,则应能够使用:

JsonResponse(response(0))