scala json-сериализация пропущенных полей (json4s)

Я использую 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 ответ

Решение

Оказывается, в json4s не было правильного сериализатора. Может быть, было бы лучше получить уведомление через исключение?

Во всяком случае: добавление

+ FieldSerializer[StatCounter]()

к DefaultFormats решает проблему

Другие вопросы по тегам