1
我有两个相同的case类,比方说case类之间的转换具有相同的结构
case class JsonOutput(
creationDate: ZonedDateTime,
updateDate: ZonedDateTime,
doctorName: String,
patientName: String,
userName: String
)
和
case class DbOutput(
creationDate: ZonedDateTime,
updateDate: ZonedDateTime,
doctorName: String,
patientName: String,
userName: String
)
其在结构上是相同的,但没有一定的关系(和它们的相似性可能会在未来发生变化)
我想将DbOutput
类型,我从数据库中获取到JsonOutput
,后来我将用于转换(由Play Json)like
//fullCase is of type JsonOutput
Ok(Json.obj("case" -> fullCase))
我该怎么做?
注:
什么的巢式病例类结构的情况下,要做到:
case class GeneralInfo(number: Int)
// Nested case class structure
case class JsonOneOutput(text: String)
case class JsonThreeOutput(meta: JsonOneOutput, info: GeneralInfo)
// Nested case class structure
case class DbOneOutput(text: String)
case class DbThreeOutput(meta: DbOneOutput, info: GeneralInfo)
,我不得不再次转换DbOutput
到JsonOutput
(和所有类型相同,除了一些叶节点类型如DbOneOutput
和JsonOneOutput
,它们可以处于较深层次)
我看到这个文档,但如何做到这一点与多个'字符串'类型?它看起来像必须使用'LabelledGeneric',但我不明白如何利用它。 – likern