无法从 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]
当我尝试从 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]