Как представить необязательные поля в 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.