read - ¿Cómo convertir POJO a JSON en Play Framework 2.3.x(Scala)?
read json play framework (2)
¿Alguien puede mostrarme cómo convertir POJO o instancia de clase a JSON en Play framework (especialmente Play v2.3.x) con Scala?
Por ejemplo, tengo un código como este:
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
}
}
El mensaje de error:
No se puede escribir una instancia de com.fasterxml.jackson.data bind.JsonNode en la respuesta HTTP. Intenta definir un Writeable [com.fasterxml.jackson.databind.JsonNode]
ACTUALIZACIÓN: descubrí que el error anterior es causado por la importación incorrecta de la clase Json
, debe ser: import play.api.libs.json.Json
. Sin embargo, todavía tengo error en el problema implícito a continuación.
He leído este tutorial , pero cuando probé el código implícito Writes[Foo]
:
implicit val fooWrites: Writes[Foo] = (
(JsPath / "name").write[String] and
(JsPath / "address").write[String]
)(unlift(Foo.unapply))
Can''t resolve symbol unlift
No se Can''t resolve symbol and
Can''t resolve symbol unlift
error de Can''t resolve symbol unlift
en Intellij. Además, el código del tutorial parece complejo solo para la conversión de un objeto a JSON. Me pregunto si hay una forma más simple de hacer esto.
El segundo problema - Can''t resolve symbol and
- es un error Intellij introducido en la versión 1.3 del complemento Scala. En la versión 1.3.3 del complemento Scala, ahora hay una solución alternativa: establecer la casilla de preferencias:
Idiomas y marcos> Scala> pestaña Núcleo (predeterminado)> Usar viejo algoritmo de búsqueda implícita