Json格式化程序,用于Play 2.4中的特征

时间:2017-02-07 08:59:10

标签: json playframework traits

有特质

Equals

扩展特征的案例类

  trait Role[A, B] {
    val _id: Option[A] = None
    val value: Option[List[B]] = None
    val id: Option[String] = None
  }

由于错误而没有编译,"没有Json格式的角色"。

我在stackoverflow中尝试了几个可用的示例,在json格式化程序中,对于特征没有任何效果。

1 个答案:

答案 0 :(得分:2)

是的,这是正确的,因为当播放尝试为用户进行格式化时,它不知道如何将Role格式化为json。

你可以这样做,首先添加如下内容:

implicit val roleFormat = Json.format[Role]

object User

Play文档中的要求:

  

这些宏依赖于对它们正在运行的类型的一些假设   用:

     
      
  • 必须有一个具有apply和unapply方法的伴随对象
  •   
  • unapply的返回类型必须与apply方法的参数类型匹配。
  •   
  • apply方法的参数名称必须与JSON中所需的属性名称相同。
  •   
     

案例类本身满足这些要求。对于更多自定义类   或者特征,你可能必须实施它们。

相关问题