我想做这样的事情:

(request.body \ "optional-integer").toOption[Int]

这样,如果主体中没有optional-integer字段,我将得到None,否则将获取整数值。
有什么惯用的方法吗?

最佳答案

正如@Mikesname's comment所说,

(request.body \ "optional-integer").asOpt[Int]

应该做的工作。这使用 JsValue asOpt(),其中

尝试将节点转换为T。

比较the JSON basics manual, part Using JsValue.as/asOpt
val nameOption = (json \ "name").asOpt[String]
// Some("Watership Down")

val bogusOption = (json \ "bogus").asOpt[String]
// None

09-15 19:44