nul*_*ull 8 json scala playframework playframework-2.0
任何人都可以告诉我如何使用Scala将POJO或类实例转换为Play框架中的JSON(特别是Play v2.3.x)?
例如,我有这样的代码:
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
}
}
Run Code Online (Sandbox Code Playgroud)
错误消息:
无法将com.fasterxml.jackson.data bind.JsonNode的实例写入HTTP响应.尝试定义一个可写的[com.fasterxml.jackson.databind.JsonNode]
更新:我发现上面的错误是由于错误导入Json类引起的,应该是:import play.api.libs.json.Json.但是我仍然在下面的隐含问题上有错误.
我已经阅读了本教程,但是当我尝试隐式Writes[Foo]代码时:
implicit val fooWrites: Writes[Foo] = (
(JsPath \ "name").write[String] and
(JsPath \ "address").write[String]
)(unlift(Foo.unapply))
Run Code Online (Sandbox Code Playgroud)
我Can't resolve symbol and和Can't resolve symbol unlift在的IntelliJ错误.此外,教程的代码看起来很复杂,只是为了将对象转换为JSON.我想知道是否有更简单的方法来做到这一点?
您可以Writes[Foo]使用Json.writes以下命令获取实例:
implicit val fooWrites = Json.writes[Foo]
Run Code Online (Sandbox Code Playgroud)
将此隐含在范围内是转换Foo为JSON 所需的全部内容.有关JSON读/写的更多信息,请参阅此处 和此处的文档.
| 归档时间: |
|
| 查看次数: |
2870 次 |
| 最近记录: |