我正在使用scala 2.11.8和circe 0.7.0
我正在使用scalajs与一个API通信,区分发送的JSON中不存在的字段和null
字段。
我正在寻找一种编码为JSON的方法,该方法包含将设置为None
以表示缺失值的Option[T]
字段的scala case class
:
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
test.asJson.noSpace
//>{"optionalFieldOne": 42,"optionalFieldTwo":null, "optionalFieldThree":null}
//What I would like
test.asJson.noSpace
//>{"optionalFieldOne": 42,"optionalFieldTwo":null}
circe提供了任何可配置的选项吗?您知道如何访问它吗?我已经查看了所有发布说明、GitHub问题和网站文档,但没有成功。
如果不存在此类配置选项,那么有什么正确实现的方法吗?
{"optionalFieldOne": 42}
。第二个字段缺失。我已经在此链接中阅读了此解决方案:link - amougel