Я пытаюсь выяснить, как избежать null
значений.Моя проблема в том, что я запрашиваю API, и он возвращает значение null
.
Вот пример:
import play.api.libs.json._
case class InnerExample(value: String)
object InnerExample {
def fromJson(json: JsValue) = InnerExample(
value = (json \ "value")as[String]
}
case class Example(innerValue: Option[InnerExample])
object Example {
def fromJson(json: JsValue) = Example(
optionalValue = (json \ "innerValue").asOpt[String].map(InnerExample.apply)
)
}
У меня проблема в том, что asOpt
преобразуется innerValue
не None
, а Some(null)
.Я понимаю почему, и это имеет большой смысл.Но мне нужно найти способ справиться с этим.Нечто более элегантное, чем сопоставление для Some(null)
.Я очень благодарен за любые идеи.