Play2 Scala - 具有循环依赖的Json格式

时间:2016-01-26 14:07:22

标签: json scala playframework

我有两个类,每个类都包含另一个类:

import play.api.libs.json.Json

case class Param(name: String,
                 data: ParamData)
case class ParamData(`type`: String,
                     value: String,
                     options: Option[List[Param]])

implicit val paramDataJsonFormat = Json.format[ParamData]
implicit val paramJsonFormat = Json.format[Param]

当我定义Json格式时,我收到编译错误:

  

错误:(110,51)没有可用的List [Param]的隐式格式。

     

隐式val paramJsonFormat = Json.format [Param]

如果我更改了implicits的顺序,我会在另一行上得到相同的错误:

  

错误:(110,51)没有可用的List [ParamData]的隐式格式。

     

隐式val paramDataJsonFormat = Json.format [ParamData]

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

Play official documentation中找到解决方案。关于我缺少的递归类型有一个特定的部分。