Comment mettre en œuvre implicite Json Écrit de l'objet incorporé dans le Jeu Framework 2.x

il y a deux classes Foo et Bar. Foo contient un champ de Bar. La question est, comment puis-je mettre en œuvre un implicite json Writes pour la classe Foo?

Voici le code:

package models

import play.api.libs.json._

case class Foo(id: String, bar: Bar)

object Foo {
  implicit val implicitFooWrites = new Writes[Foo] {
    def writes(foo: Foo): JsValue = {
      Json.obj(
        "id" -> foo.id,
        "bar" -> foo.bar
      )
    }
  }
}

case class Bar(x: String, y: Int)

object Bar {
  implicit val implicitBarWrites = new Writes[Bar] {
    def writes(bar: Bar): JsValue = {
      Json.obj(
        "x" -> bar.x,
        "y" -> bar.y
      )
    }
  }
}

Lorsque j'essaie de compiler, j'obtiens l'erreur suivante:

Pas de Json deserializer trouvé pour le type de modèles.Bar. Essayez de mettre en œuvre un
implicite de l'Écrit ou de Format pour ce type.

Je ne comprends pas cette erreur de compilation, depuis que j'ai mis en place un implicite Écrit pour les modèles.Barre de classe. Quel est le problème ici?

InformationsquelleAutor schub | 2013-03-29