Comment représenter les champs optionnels dans le jet-json?

J'ai un champ facultatif sur mes demandes:

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

Mon protocole est:

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

Comment puis-je marquer le nextAt champ facultatif, tels que les objets JSON sera correctement lu et accepté:

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

En fait, je ne pas vraiment se soucier de la valeur null, mais si vous avez des détails, ce serait sympa. Je suis l'aide de la pulvérisation en json, et avait l'impression que l'utilisation d'une Option serait de sauter sur le terrain si il était absent sur l'original de l'objet JSON.

OriginalL'auteur François Beausoleil | 2012-05-30