Я использую макросы play-json для определения неявного Writes
для сериализации JSON. Однако по-видимому, по умолчанию play-json пропускает поля, для которых поля Option
установлены на None
. Есть ли способ изменить значение по умолчанию, чтобы оно выводило null
вместо этого? Я знаю, что это возможно, если я определяю собственное определение Writes
, но я заинтересован в том, чтобы делать это с помощью макросов, чтобы уменьшить шаблонный код.
Пример
case class Person(name: String, address: Option[String])
implicit val personWrites = Json.writes[Person]
Json.toJson(Person("John Smith", None))
// Outputs: {"name":"John Smith"}
// Instead want to output: {"name":"John Smith", "address": null}