【发布时间】:2015-03-05 07:41:22
【问题描述】:
任何人都可以告诉我如何使用 Scala 在 Play 框架(尤其是 Play v2.3.x)中将案例类类实例转换为 JSON?
例如我有这样的代码:
case class Foo(name: String, address: String)
def index = Action {
request => {
val foo = Foo("John Derp", "Jem Street 21") // I want to convert this object to JSON
Ok(Json.toJson(foo)) // I got error at here
}
}
错误信息:
无法编写 com.fasterxml.jackson.data bind.JsonNode 的实例 到 HTTP 响应。尝试定义一个 可写[com.fasterxml.jackson.databind.JsonNode]
更新:我发现上面的错误是由于Json类的错误导入引起的,应该是:import play.api.libs.json.Json。但是我仍然在下面的隐式问题上遇到错误。
我已经阅读了this tutorial,但是当我尝试隐含的Writes[Foo] 代码时:
implicit val fooWrites: Writes[Foo] = (
(JsPath \ "name").write[String] and
(JsPath \ "address").write[String]
)(unlift(Foo.unapply))
我在 Intellij 中遇到了 Can't resolve symbol and 和 Can't resolve symbol unlift 错误。此外,教程的代码看起来很复杂,只是为了将对象转换为 JSON。我想知道是否有更简单的方法可以做到这一点?
【问题讨论】:
标签: json scala playframework playframework-2.0