小编XuC*_*LIU的帖子

在Play 2中如何检查JsValue变量是否为NULL?

这个问题可能闻起来很愚蠢,但我真的想知道如何检查Play 2中的NULL JsValue:

scala> import play.api.libs.json._
import play.api.libs.json._

scala> val json = Json.obj("a" -> true)
json: play.api.libs.json.JsObject = {"a":true}

scala> val a = json \ "nonExisting"
a: play.api.libs.json.JsValue = null

scala> a == null
res1: Boolean = false

scala> Option(a)
res2: Option[play.api.libs.json.JsValue] = Some(null)
Run Code Online (Sandbox Code Playgroud)

你可以看到变量的值anull,但==与检查的回报false.但是,以下工作符合预期:

scala> val b: JsValue = null
b: play.api.libs.json.JsValue = null

scala> b == null
res3: Boolean = true
Run Code Online (Sandbox Code Playgroud)

当我转向使用类型转换时asOpt,它似乎再次起作用:

scala> val c = json \ …
Run Code Online (Sandbox Code Playgroud)

json scala playframework

8
推荐指数
2
解决办法
5726
查看次数

标签 统计

json ×1

playframework ×1

scala ×1