私はScalaのアプリケーションを持っているなどの場合のクラスがある - 私は暗黙のリードを提供するなどSRケースクラスのプロパティX、Y、ZのためのJSON形式を記述する必要が今汎用再生JSONフォーマッタ
case class SR(
systemId: Option[String] = None,
x: Map[Timestamp, CaseClass1] = Map.empty,
y: Map[Timestamp, CaseClass2] = Map.empty,
y: Map[Timestamp, CaseClass3] = Map.empty
)
を -
implicit val mapCMPFormat = new Format[Map[Timestamp, CaseClass1]] {
def writes(obj: Map[Timestamp, CaseClass1]): JsValue =
JsArray(obj.values.toSeq.map(Json.toJson(_)))
def reads(jv: JsValue): JsResult[Map[Timestamp, CaseClass1]] = jv.validate[scala.collection.Seq[CaseClass1]] match {
case JsSuccess(objs, path) => JsSuccess(objs.map(obj => obj.dataDate.get -> obj).toMap, path)
case err: JsError => err
}
}
そしてように同様にYとZ、将来的に、私はSR場合クラスのX、Y、Zのようなより多くのプロパティを追加した後formatorsを提供するために必要されるため。
だから、すべてのタイプの世話をするGeneric Formaterを入手できますか?私の知る限りでは、これを達成するための簡単な方法は、オブジェクトごとに「デフォルト」のリーダーを作成するには、しかし、存在しない
? – cchantep