1

我正在使用scala play!2.4.x 并尝试序列化案例类:

case class MyEvent(
    id: String,
    parentId: Option[ParentRef] = None,
    stepStatus: String = "undefined",
    artifacts:Seq[String] = Seq.empty,
    events:Seq[String] = Seq.empty  
  )

问题是序列化的 json 不包含字段 工件事件,因为它们的默认值是空序列。Receiver 希望获得字段名称,即使它们是空的。我必须强制 json 序列化程序添加"artifacts": [], "events":[]

不手动编写整个格式化程序的正确方法是什么?我有几十个领域。

4

1 回答 1

0

因此,对于 2.4.x,它是这样工作的:

case class MyEvent(
    id: String,
    parentId: Option[ParentRef] = None,
    stepStatus: String = "undefined",
    artifacts:Seq[String] = Seq(),
    events:Seq[String] = Seq()  
  )

Seq()强制播放 json 生成"events": []这对我来说很好。我发现 play-json 的东西有点过度设计。:( 我真的很想念我过去的 Java 中的 google Gson :) 很简单,而且很管用。

于 2016-11-21T10:17:51.327 回答