3
我使用阶2.11.8与瑟茜
0.7.0忽略无场而编码与瑟茜JSON斯卡拉
我使用scalajs与API在发送的JSON微分不存在的字段和null
场通信。
我找编码的方式到JSON斯卡拉case class
含Option[T]
领域,我将设置为None
表示缺少值:
case class Foo(
optionalFieldOne: Option[Int] = 42,
optionalFieldTwo: Option[Int] = null,
optionalFieldThree: Option[Int] = None
)
implicit FooEncoder: Encoder[Foo] = deriveEncoder[Foo]
val test = Foo()
//What the code actually produces
val.asJson.noSpace
//>{"optionalFieldOne": 42,"optionalFieldTwo":null, "optionalFieldThree":null}
//What I would like
val.asJson.noSpace
//>{"optionalFieldOne": 42,"optionalFieldTwo":null}
是否存在被瑟茜提供任何配置可以吗?你有任何想法如何访问它,我已经浏览了所有发行说明,github问题和他们的网站文档没有成功。
在这种配置选项不可用的情况下,如何正确实施它?
这里的问题是,我想保留空值,只有ommit设置为None的字段。这里你的解决方案会返回'{“optionalFieldOne”:42}'。第二个领域缺失。我已在[link](https://github.com/circe/circe/issues/585) – amougel
http://stackoverflow.com/a/42370819/2311362中阅读过此解决方案? – OlivierBlanvillain