Json序列化复杂列表

时间:2013-08-26 23:10:58

标签: json scala playframework playframework-2.0

在Play Framework 2.1.3中我试图编写json序列化,它可以使用以下类:

import play.api.libs.json._
import play.api.libs.functional._

trait Task
case class TaskA(id: Int, options: String) extends Task
case class TaskB(id: Int, name: String, options: String) extends Task
case class TaskC(id: Int, mapping: Map[String, Int], options: String) extends Task

case class TasksQueue(qid: Int, queue: List[Task])

当然,我可以轻松地为扩展Task的个别案例类创建序列化,例如使用implicit val fmt = Json.format[TaskA]等但我不知道如何为TasksQueue实现此功能。

困难的部分是我希望能够在queue TasksQueue的{​​{1}}值中添加不同类型的任务。有没有办法向Task添加类型参数,这不会限制我放在该列表中的任务类型?

1 个答案:

答案 0 :(得分:1)

查看我对此问题的回复,该回答同样的问题:

Scala Play framework 2.1 derived classes