Как представить необязательные поля в Spray-JSON?

У меня есть дополнительное поле для моих запросов:

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

Мой протокол:

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

Как пометить поле nextAt необязательно, чтобы следующие объекты JSON были правильно прочитаны и приняты:

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

Я на самом деле не забочусь о нулевом случае, но если у вас есть детали, было бы неплохо. Я использую Spray-JSON, и у меня сложилось впечатление, что использование Option пропустит поле, если оно отсутствует в исходном объекте JSON.

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

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