无法从 JsSuccess 获取价值

unable to get value from JsSuccess

当我尝试从 JsSuccess 获取值时出现 java.lang.ClassCastException: scala.Some cannot be cast to models.Data 错误。以下代码有什么错误?

val dataOption = request.body.validateOpt[Data]
      dataOption match {
        case dataSuccess:JsSuccess[Data] => {
          println("validated request body:" + dataSuccess) //I see this print
          val data:Data = dataSuccess.value //PROGRAM THROWS EXCEPTION HERE
          println("received data:" + data +", "+data.mydata) 

我收到以下数据 {"data":{"field1":"d","field2":"d","field3":["d"],"field4":["d"],"field5":[1],"field6":"d","field7":"d"}}

JsValue.validateOpt投数据成功

validated request body:JsSuccess(Some(Data(MyData(None,d,List(d),List(1),d,Set(d),d,d))),/my-data)

然后当我尝试获取数据时,程序抛出异常java.lang.ClassCastException: scala.Some cannot be cast to models.Data

val data:Data = dataSuccess.value //PROGRAM THROWS EXCEPTION HERE
              println("received data:" + data +", "+data.mydata)

型号class是

case class Data(myData:MyData)

case class MyData (field1: Option[UUID],
                              field2: String,
                              field3: List[String],
                              field4: Seq[Byte],
                              field5: String,
                              field6: Set[String],
                              field7: String,
                              field8:String)

case dataSuccess:JsSuccess[Data] 应该是 questionSuccess:JsSuccess[Option[Data]] 因为 validateOpt[T] returns Option[T]