を使用する一般的な json シリアル化メソッドを使用していますjson4s
。残念ながら、値が の場合、フィールドは無視されますNone
。私の目標は、None
フィールドを値で表すことnull
です。None のカスタムシリアライザーを追加してみましたが、まだ機能していません。
object test extends App {
class NoneSerializer extends CustomSerializer[Option[_]](format => (
{
case JNull => None
},
{
case None => JNull
}))
implicit val f = DefaultFormats + new NoneSerializer
case class JsonTest(x: String, y: Option[String], z: Option[Int], a: Option[Double], b: Option[Boolean], c:Option[Date], d: Option[Any])
val v = JsonTest("test", None, None,None,None,None,None);
println(Serialization.write(v))
}
上記のコードの結果:
{"x":"test"}
私はこのリンクと他のいくつかを試しましたが、ケースクラスの問題を解決していません