contains
类似于 play.api.libs.json.Json
的功能
val data=Map("id" -> "240190", "password" -> "password","email" -> "[email protected]")
data.contains("email")//true
val info=Json.obj("id" -> "240190", "password" -> "password","email" -> "[email protected]")
现在如何检查
info
是否包含email
?
info.keys.contains("email")
.keys
返回一个带有键值的Set
,然后你可以调用contains
方法,我不确定是否有更直接的方法。
(info \ "email").asOpt[String].isEmpty
asOpt 会返回Optional,我们可以进行 isEmpty 简单检查,这将实现我们想要的。
(info \ "email").asOpt[String] match {
case Some(data) => println("here is the value for the key email represented by variable data" + data)
case None => println("email key is not found")
}
(info \ "email").asOpt[String]
仅当电子邮件是字符串时才有效。如果电子邮件是一个对象,则 (info \ "email").asOpt[String]
将为 None。
另一种方法是将 (info \ "email").toOption
与 Some
或 None
匹配。