У меня есть необязательное поле в моих запросах:
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"}
На самом деле я действительно не забочусь о нулевом случае, но если у вас есть детали, было бы неплохо. Я использую спрей-json, и у меня создалось впечатление, что использование опции будет пропускать поле, если оно отсутствует на исходном объекте JSON.