我有一个通用的 json 序列化方法,它使用json4s
. 不幸的是,如果值为None
. 我的目标是让None
字段用null
值表示。我尝试通过为 None 添加自定义序列化程序,但它仍然无法正常工作。
object test extends App {
class NoneSerializer extends CustomSerializer[Option[_]](format => (
{
case JNull => None
},
{
case None => JNull
}))
implicit val f = DefaultFormats + new NoneSerializer
case class JsonTest(x: String, y: Option[String], z: Option[Int], a: Option[Double], b: Option[Boolean], c:Option[Date], d: Option[Any])
val v = JsonTest("test", None, None,None,None,None,None);
println(Serialization.write(v))
}
上述代码的结果:
{"x":"test"}
我尝试了这个链接和其他一些链接,但没有解决案例类的问题