Jak reprezentować opcjonalne pola w sprayu-json?

Na moich prośbach mam opcjonalne pole:

case class SearchRequest(url: String, nextAt: Option[Date])

Mój protokół to:

object SearchRequestJsonProtocol extends DefaultJsonProtocol {
    implicit val searchRequestFormat = jsonFormat(SearchRequest, "url", "nextAt")
}

Jak oznaczyć pole nextAt jako opcjonalne, tak aby następujące obiekty JSON były poprawnie odczytywane i akceptowane:

{"url":"..."}
{"url":"...", "nextAt":null}
{"url":"...", "nextAt":"2012-05-30T15:23Z"}

Naprawdę nie obchodzi mnie przypadek zerowy, ale jeśli masz szczegóły, byłoby miło. Używam spray-json i miałem wrażenie, że użycie Opcji pominie pole, jeśli nie było go w oryginalnym obiekcie JSON.

questionAnswers(6)

yourAnswerToTheQuestion