Scala Объект Option внутри другого объекта Option

У меня есть модель, которая имеет несколько полей Option, которые содержат другие поля Option. Например: я

case class First(second: Option[Second], name: Option[String])
case class Second(third: Option[Third], title: Option[String])
case class Third(numberOfSmth: Option[Int])

Я получаю эти данные из внешнего JSON 'и иногда эти данные могут содержать нольs, это было причиной такого дизайна модели.

Итак, вопрос в том, как лучше всего получить самое глубокое поле?

First.get.second.get.third.get.numberOfSmth.get

Вышеуказанный метод выглядит очень некрасиво и может вызвать исключение, если один из объектов будет None. Я смотрел на Скалаз Либ, но неНе могу найти лучший способ сделать это.

Есть идеи? Заранее спасибо.

Ответы на вопрос(4)

Ваш ответ на вопрос