scala json序列化缺少字段(json4s)

时间:2017-01-04 21:42:12

标签: json scala serialization json4s lift-json

我正在使用json4s来序列化一些scala地图对象。

import org.apache.spark.util.StatCounter
import org.json4s.DefaultFormats

val m: scala.collection.Map[String, Map[String, StatCounter]] = Map("key" -> Map("secondKey" -> StatCounter()))

implicit val format = DefaultFormats
import org.json4s.jackson.Serialization.write

println(m)
println(write(m))

正确的结果将是:

Map(key -> Map(secondKey -> (count: 0, mean: 0,000000, stdev: NaN, max: -Infinity, min: Infinity)))

奇怪的是,我只获得序列化的课程

{"key":{"secondKey":{}}}
res1: Unit = ()

如何正确序列化?

1 个答案:

答案 0 :(得分:0)

事实证明json4s缺少正确的序列化器。也许通过例外通知会更好吗?

无论如何:添加

+ FieldSerializer[StatCounter]()

DefaultFormats解决问题