我正在使用play-json的宏定義用於序列化JSON的隱式Writes
。然而,默認情況下,play-json似乎忽略了Option
字段設置爲None
的字段。有沒有辦法改變默認值,以便輸出null
?我知道這是可能的,如果我定義我自己的Writes
定義,但我有興趣通過宏來減少樣板代碼。當值爲無時,在play-json序列化中爲選項[T]輸出'null'
例
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}