Herkes, Scala ile Play çerçevesindeki (özellikle Play v2.3.x) POJO veya sınıf örneğini JSON'a nasıl dönüştürebilir? ÖrneğinOyun çerçevesi 2.3.x (Scala) içinde POJO JSON nasıl dönüştürülür?
bu gibi bir kod vardır:
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
}
}
hata iletisi:
HTTP yanıtı com.fasterxml.jackson.data bind.JsonNode bir örneğini yazılamıyor. Bir Yazılabilir [com.fasterxml.jackson.databind.JsonNode]
UPDATE tanımlamak için deneyin: Yukarıdaki hata Json
sınıfının yanlış ithalat kaynaklanır öğrendim, bu olmalıdır: import play.api.libs.json.Json
. Bununla birlikte, aşağıdaki örtük sorun hakkında hala hatam var.
ama örtülü Writes[Foo]
kod çalıştığında: Ben Can't resolve symbol and
var
implicit val fooWrites: Writes[Foo] = (
(JsPath \ "name").write[String] and
(JsPath \ "address").write[String]
)(unlift(Foo.unapply))
ve IntelliJ içinde Can't resolve symbol unlift
hatası. Ayrıca öğreticinin kodu sadece bir nesnenin JSON'a dönüştürülmesi için karmaşık görünüyor. Bunu yapmak için daha basit bir yol olup olmadığını merak ediyorum?
Hi kullanın çok teşekkürler. Json'u 2.3 Oyunculuğunun kullanımıyla ilgili basit bir kılavuz veya belge bulabilirmiyim? Ayrıca, denediğim orijinal örtülü Write'lerde "Çözemez sembolü ve" (ve "unlift") hatasını açıklayabilir misiniz? (güncellenmiş soruya bakın, kodu buraya koydum) – null
Sembol hatasını çözmek için 'play.api.libs.functional.syntax._' öğesini almanız gerekiyor. Sağladığım dokümantasyon bağlantıları, Play JSON hakkında yeterince genel bilgi içeren 'unlift' hakkındaki sorunuzu yanıtlamalıdır. – edi
Merhaba, bir kez daha, yardım için çok teşekkürler. Intellij'un ithalatı neden tespit edemediğini merak ediyorum. – null