【发布时间】:2018-04-10 15:52:17
【问题描述】:
我正在使用 json4s。
我知道您可以使用 DefaultFormats.preservingEmptyValues 在一个类型中“保留所有 Option 成员的 None 值”。
输出如下:
斯卡拉
case class MyType(a: Option[String], b: Option[Int], c: Int)
实例
MyType(None, None, 1)
输出
{ "a": null , "b": null , "c": 1 }
没有
DefaultFormats.preservingEmptyValues 的输出是这样的:
斯卡拉
case class MyType(a: Option[String], b: Option[Int], c: Int)
实例
MyType(None, None, 1)
输出
{ "c": 1 }
我想做的是,它为一个成员保留默认行为(删除属性),比如a,并为另一个成员使用preservingEmptyValues,比如b,并有如下输出:
斯卡拉
case class MyType(a: Option[String], b: Option[Int], c: Int)
实例
MyType(None, None, 1)
输出
{ "b": null , "c": 1 }
如何使用 json4s 实现这一目标?
【问题讨论】: