【发布时间】:2015-01-09 07:40:56
【问题描述】:
我有一个使用json4s 的通用 json 序列化方法。不幸的是,如果值为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"}
我尝试了this link 和其他一些,但没有解决案例类的问题
【问题讨论】: