繁体   English   中英

在Scala Play2中将JsValue转换为模型

[英]Converting JsValue to Model in Scala Play2

当我尝试将JsValue JSON对象转换为对象时,出现以下错误

play.api.libs.json.JsResultException: JsResultException(errors:List((/_id/$oid,List(ValidationError(List(error.path.missing),WrappedArray()))))) (JsReadable.scala:20)

我传递的JSON:

val environmentBody = Json.parse("""{
                       "name" : "Demo Value",
                       "schedulerUrl" : "https://ops-dev.videri.com/v1/scheduler/players/%s/schedules",
                       "playersUrl" : "https://ops-dev.videri.com/v1/crm/players",
                       "token" : "68a1fab4c911206165f3e426b50468eaa66193b56eee66ec508bf9304e6c8b92"
                   }""")

和转换:

val envObject = environmentBody.as[Environment]

环境模型如下所示:

case class Environment(id:Option[String] = None,
                       name: String,
                       schedulerUrl: String,
                       playersUrl: String,
                       token: String) extends Model{
  def getId() = id
} 

trait Model {
  def getId():Option[String]
}

我不确定为什么这行不通。 据我所知,这不应该引发任何验证错误。

您的代码对我有用。 我要做的唯一的事情就是把这一行:

implicit val reads = Json.reads[Environment]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM