0
我有我想要的做這樣的事情斯卡拉Play應用程序:斯卡拉打不出隱格式序列[選項[models.ProcessStepTemplatesModel]可
implicit val ProcessStepsFormat: OFormat[ProcessSteps] = Json.format[ProcessSteps]
case class ProcessSteps(stepsData: Seq[Option[ProcessStepTemplatesModel]])
問題是,我得到這個錯誤:
No implicit format for Seq[Option[models.ProcessStepTemplatesModel]] available.
如何更改它的工作格式?
感謝所有
UPDATE
case class ProcessStepTemplatesModel(
id: Option[Int],
title: String,
createdat: String,
updatedat: String,
deadline: Option[Date],
comment: Option[String],
stepType: Int,
deleted: Boolean,
processtemplate: Option[Int],
derivedProcesses: Seq[ProcessStepTemplatesDerivedProcessesModel],
prerequisites: Seq[ProcessStepPrerequisitesModel],
postconditions: Seq[ProcessStepPostconditionModel],
addProcessToProcessStepArray: Seq[ProcessStepsTemplates_ProcessTemplatesModel])
object ProcessStepTemplatesModel {
implicit val processStepFormat = Json.format[ProcessStepTemplatesModel]
}
爲什麼我還需要一個模型以及它應該是什麼樣子? 添加了以上模型 – Felix
在能夠序列化您的集合之前,您需要爲每個聲明的類聲明至少一個格式[X]。每次PlayJson遇到未知類型(即不是像String,Long,Date等基本類型的類型)時,它都會搜索隱式格式以序列化/反序列化它。您也可以通過Reads [X]或Writes [X],具體取決於您嘗試執行的操作。 在你的例子中,它會問你一個隱含的格式:ProcessStepTemplatesDerivedProcessesModel,ProcessStepPrerequisitesModel,ProcessStepPostconditionModel, ProcessStepsTemplates_ProcessTemplatesModel –