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. Я смотрел на Скалаз Либ, но неНе могу найти лучший способ сделать это.
Есть идеи? Заранее спасибо.