Wie werden optionale Felder in spray-json dargestellt?

Ich habe ein optionales Feld für meine Anfragen:

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

Mein Protokoll ist:

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

Wie markiere ich das Feld nextAt als optional, sodass die folgenden JSON-Objekte korrekt gelesen und akzeptiert werden:

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

Mir ist der Null-Fall eigentlich egal, aber wenn Sie Details haben, wäre es nett. Ich verwende spray-json und hatte den Eindruck, dass die Verwendung einer Option das Feld überspringt, wenn es im ursprünglichen JSON-Objekt nicht vorhanden ist.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage