0

我正在使用带有 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。有什么想法吗?

4

1 回答 1

0

不确定是否可以在不先使用 play JSON 库解析值的情况下这样做,以便在 entry.document 中获得 json 的 JSObject 表示。

在这种情况下,最好不要解析它并自己构建 JSON 字符串?就像是:

Ok("[" + entries.mkString(",") + "]").as("text/json")
于 2013-05-23T08:13:53.573 回答