3

jackson をサポートする json4s を使用して、scala ケース クラスをシリアル化しようとしています。しかし、特性をミックスしようとしているシナリオでは、クラスのシリアル化に失敗します。以下はコード例です。

trait ISearchKey {
    var id:String = ""  
}

以下のコードを実行すると、空の中括弧が表示され、値がシリアル化されませんが、trait mixin を削除すると、CrystalFieldInfo 値が適切にシリアル化されます

  val fld = new CrystalFieldInfo("Field1") with ISearchKey
  fld.id = "Id1"          
  implicit val formats = Serialization.formats(NoTypeHints)
  val ser = write[CrystalFieldInfo with ISearchKey](fld)
  println(ser)

この問題についての洞察をいただければ幸いです。前もって感謝します

4

1 に答える 1