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