使用json Writed在Play 2.1中将对象的单个变量序列化为单个值

时间:2013-05-16 21:10:41

标签: json scala playframework playframework-2.0 playframework-2.1

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

1 个答案:

答案 0 :(得分:0)

在没有首先使用play JSON库解析值的情况下,不确定是否可以这样做,这样你就可以在entry.document中拥有json的JSObject表示。

也许最好不解析它,只是在这种情况下自己构建JSON字符串?类似的东西:

Ok("[" + entries.mkString(",") + "]").as("text/json")