以下是一个示例,展示了我的问题:
case class Foo(bar: String, baz: Option[String])
val mapper = new ObjectMapper()
.registerModule(DefaultScalaModule)
.setSerializationInclusion(Include.NON_NULL)
println(mapper.writeValueAsString(Foo("bar")))
这打印出{"bar":"bar","baz":null}
,而不仅仅是我想要的{"bar": "bar"}
。请注意,mapper.writeValueAsString(Foo(null))
会返回{"baz": null}
- 因此,null
字段会按预期处理,只有None
才有问题。
对于jackson 2.6.6
,这对我来说是正常的,但是我试图升级到2.8.8时遇到了这个问题。这是scala模块中的错误,还是我需要设置一些新选项才能让它工作?
答案 0 :(得分:0)
显然,NON_ABSENT
现在应该用来做我需要的而不是NON_NULL