Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
播放Json-自定义JsResultException_Json_Scala_Playframework - Fatal编程技术网

播放Json-自定义JsResultException

播放Json-自定义JsResultException,json,scala,playframework,Json,Scala,Playframework,我试图用Play-json解析一个json,使用as解析单个“字段”。像这样: val data=(json\“dataField”).as[String] 如果无法分析字段或字段无效,则会引发JsResultException。但是,由于我需要以“freindlier”的方式输出错误,因此我需要设置一个自定义JsResultException消息 有没有办法做到这一点?我可以这样做: (json\“dataField”).asOpt[String].getOrElse(抛出新异常(“分析数据字

我试图用Play-json解析一个json,使用
as
解析单个“字段”。像这样:

val data=(json\“dataField”).as[String]

如果无法分析字段或字段无效,则会引发JsResultException。但是,由于我需要以“freindlier”的方式输出错误,因此我需要设置一个自定义JsResultException消息

有没有办法做到这一点?我可以这样做:


(json\“dataField”).asOpt[String].getOrElse(抛出新异常(“分析数据字段时出错”)
,然后匹配一些(数据:String)。。。没有一个但是对于我需要解析的每个字段,似乎都有太多的代码。

当您使用
验证
时,您会得到一个错误列表

json.validate[MyClass] match {
  case JsSuccess(myClass, _) =>
    // do something
  case JsError(errors) =>
    // do something with the errors
}
错误类型为
Seq[(JsPath,Seq[JsonValidationError])]

您可以将其转换为您想要的任何内容。

而是使用
。验证
并编写
JsResult