20

私が持っている場合、私はそれを理解しています:

case class Person(name: String)

使うことができます

object PersonJsonImplicits extends DefaultJsonProtocol {
  implicit val impPerson = jsonFormat1(Person)
}

したがって、次のようにシリアル化します。

import com.example.PersonJsonImplicits._
import spray.json._
new Person("somename").toJson

しかし、私が持っているとしたら

trait Animal
case class Person(name: String) extends Animal

そして、コードのどこかにあります

val animal = ???

シリアル化する必要があり、jsonスプレーを使用したい

どのシリアライザを追加すればよいか、次のようなものを望んでいました:

object AnimalJsonImplicits extends DefaultJsonProtocol {
  implicit val impAnimal = jsonFormat???(Animal)
}

動物のタイプを確認するために、マッチャーを追加する必要があったかもしれません。その人が人に向けるが、何も見つからなかった場合は、https://github.com/spray/spray-jsonを読んでいました そして、それを行う方法を理解していません..

どうすればセットをシリアル化できますか

trait Animal
case class Person(name: String) extends Animal

jsonスプレーで?

4

2 に答える 2