1
私はスカラープレイを使用しています! 2.4.xのとsearializeしようとしているケースクラスは: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は、フィールドにアーティファクトとイベントが含まれていないということです。受信者は空であってもフィールド名を取得することを期待しています。私は、JSONシリアライザ「アーティファクト」を追加することを強制する必要 :[]、「イベント」:[]
手動で全体のフォーマッタを記述することなく、それを行うための正しい方法は何ですか?私には数十の畑があります。
あなたは 'artifacts'と' events'メンバ 'Option [Seq [String]]'を作ることができますか? AFAIKは、 'Reads/Format'を手動で書くことを伴わない他の方法はありません。 – Mikesname
受信側ではどういう意味ですか?いいえ、不可能です。 – Sergey
これを再現しようとすると、私は2.3と2.4の間にいくつかの違いがあるようです。まだ解決できませんでした。 2.3では、アーティファクトとイベントが最も確実に存在し、いくつかのSOの質問がそれらを抑制しようとしています。私が知っている助けがない。あなたが解決すればお知らせください。 – wwkudu