使用Json.format(由相同类型的对象组成)没有MyClass的隐式格式

使用Json.format(由相同类型的对象组成)没有MyClass的隐式格式,json,scala,playframework-2.0,implicit,Json,Scala,Playframework 2.0,Implicit,我有一个Category类,它由Category类型本身的父类组成 我得到一个错误:类别没有隐式格式可用 object CategoryFormat { implicit val categoryParentFormat = Json.format[Category] val categoryFormat = Json.format[Category] } 我也在这篇文章中提到了类似的问题: 我错过什么了吗?请帮帮我。谢谢如果您没有使用null,您能告诉我如何使用对自身的循环引用实例化类

我有一个Category类,它由Category类型本身的父类组成

我得到一个错误:类别没有隐式格式可用

object CategoryFormat {
 implicit val categoryParentFormat = Json.format[Category]
 val categoryFormat = Json.format[Category]
}
我也在这篇文章中提到了类似的问题:


我错过什么了吗?请帮帮我。谢谢

如果您没有使用null,您能告诉我如何使用对自身的循环引用实例化类吗?如果父对象是自身,则可以为null。比如说,你有计算机科学、数学和概率作为分类。对于概率->数学是父母,对于数学->计算机科学是父母。所以,计算机科学将是这棵树的根,而这棵树将并没有父类。考虑到这样的需求,如何设计模型@如果宏不起作用,您必须使用lazyFormat自己创建格式。@Kaushik如何对问题建模是另一个问题,可能应该在其他地方询问,我想指出的是,至少从你在问题中分享的内容来看,除非你使用null,否则你不可能实例化一个类别,因为它们中的每一个都会无限地使用另一个类别。正如@MariusSoutier提到的,你应该试着用lazy val来定义它。我正在调查类似的问题。这出戏!文档中提到了您的问题的解决方案
object CategoryFormat {
 implicit val categoryParentFormat = Json.format[Category]
 val categoryFormat = Json.format[Category]
}