import io.circe._, io.circe.parser._
val emptyJsonObject = parse("{}").toOption.get //Unsafe operation for sake of answer example - DO NOT do it in production code.
println(emptyJsonObject.asObject) // prints `Some(object[])`
println(emptyJsonObject.asObject.exists(_.nonEmpty)) //prints `false`
2条答案
按热度按时间jyztefdp1#
它不能以你所期望的方式工作,因为
Json.asObject
退货Some
如果底层json是object,因为除此之外,它还可以String
,Number
,Null
或者Array
,因此"{}".asObject
(不完全正确只是为了举例)-返回Some(JsonObject())
你收到了吗false
因为Some.isEmpty=false
. 你想要的是:斯卡斯蒂:https://scastie.scala-lang.org/gghgchnorlgq0hxmskf76q
w1jd8yoj2#
我只是忘了
asObject
返回一个Option[JsonObject]
,所以isEmpty
只是检查一下Some
?作品