我正在使用Scala的Play 2.1.1。我希望能够将对象序列化为单个值,以便我可以将它们扔到列表中并让它输出该对象的数组。我只想输出entry.document。
import play.api.db._
import anorm._
import anorm.SqlParser._
import play.api.Play.current
import java.sql.ResultSet
import play.api.libs.json._
import play.api.libs.json.Json.toJson
import play.api.libs.functional.syntax._
import play.api.libs.json.JsValue
implicit val searchEntryWrites = new Writes[SearchEntry] {
def writes(entry: SearchEntry): JsValue = {
Json.obj(
toJson(entry.document)
)
}
}
entry.document实际上已经是JSON了。我已经想出了如何编译它但输出是转义json而不是json。有什么想法吗?
答案 0 :(得分:0)
在没有首先使用play JSON库解析值的情况下,不确定是否可以这样做,这样你就可以在entry.document中拥有json的JSObject表示。
也许最好不解析它,只是在这种情况下自己构建JSON字符串?类似的东西:
Ok("[" + entries.mkString(",") + "]").as("text/json")