case class
をシリアル化するときに、PascalCaseでフォーマットされたjsonオブジェクトのすべてのキーを作成しようとしています。これを行う正しい方法は、org.json4s
パッケージからCustomKeySerializer
を定義し、私が望むようにキーを再フォーマットすることです。しかし、私はCustomSerializer
を動作させることができますが、実際にCustomKeySerializer
を取得することはできません。ケースクラスを(不明な型のネストされたケースクラスを使用して)直列化するときに実際に使用されます。私のコードは次のようになります:Scala Json4s CustomKeySerializer
case object PascalCaseSerializer extends CustomKeySerializer[String](format => (
{ case _ => "this is the deserializer and I don't need it" },
{ case _ => "this does nothing" }
))
implicit val formats: Formats = DefaultFormats + PascalCaseSerializer
case class Foo(thingId: Int, eventData: Any)
case class Bar(numThings: Int)
val event = Foo(1, Bar(2))
val payloadJson = write(event) // """{"thingId":1,"eventData":{"numThings":2}}"""
私はここで何が欠けていますか?