Я сериализую некоторые объекты scala в JSON, и мне нужно добавить их исходный тип в сериализацию.
У меня есть следующие классы
class Contact(taxonz : Seq[String]) { val taxons = taxonz}
case class Phone(number:String,taxonz : Seq[String]) extends Contact(taxonz = taxonz)
case class Mail(value:String,taxonz : Seq[String]) extends Contact(taxonz = taxonz)
Кажется, есть аннотация Джексона (я использую рывок): JsonTypeInfo
Однако я попытался добавить
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY, property="scalaclass")
в трех приведенных выше классах я не верну свое свойство 'scalaclass'.
val persons = Seq(
Person("000","bob denard",
Option(Seq(
Phone("0132354548",Seq("home")),
Mail("[email protected]",Seq("business"))
))
),
Person("001","aziz bouakaz ben aissef",Option(Seq(Phone("03332354548",Seq("business")))))
)
import com.codahale.jerkson.Json
val jsonResult = Json.generate(persons)
со значением jsonResult:
[
{"id":"000","fullname":"bob denard","contacts":
[
{"number":"0132354548","taxonz":["home"]},
{"value":"[email protected]","taxonz":["business"]}
]
},...
]
Любая идея ? :)