【发布时间】:2013-04-08 04:34:52
【问题描述】:
Jerkson 开始抛出一个我以前从未见过的非常奇怪的错误。
com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class scala.runtime.BoxedUnit and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.SerializationFeature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: scala.collection.MapWrapper["data"])
我正在从 API 解析一些基本数据。我定义的类是:
case class Segmentation(
@(JsonProperty@field)("legend_size")
val legend_size: Int,
@(JsonProperty@field)("data")
val data: Data
)
而Data 看起来像:
case class Data(
@(JsonProperty@field)("series")
val series: List[String],
@(JsonProperty@field)("values")
val values: Map[String, Map[String, Any]]
)
任何线索为什么这会触发错误?似乎是一个 Jerkson 可以处理的简单类。
编辑:示例数据:
{"legend_size": 1, "data": {"series": ["2013-04-06", "2013-04-07", "2013-04-08", "2013-04-09", "2013-04-10", "2013-04-11", "2013-04-12", "2013-04-13", "2013-04-14", "2013-04-15"], "values": {"datapoint": {"2013-04-12": 0, "2013-04-15": 4, "2013-04-14": 0, "2013-04-08":
0, "2013-04-09": 0, "2013-04-11": 0, "2013-04-10": 0, "2013-04-13": 0, "2013-04-06": 0, "2013-04-07": 0}}}}
【问题讨论】:
-
我在序列化 MapWrapper 时遇到了同样的问题。在这个问题上查看其他一些java(非scala)线程,我想知道它是否因为MapWrapper有一个getter但没有一个setter,并且因为它没有两者杰克逊不认为它完全可序列化stackoverflow.com/questions/8367312/…
-
好奇您是否尝试过 json4s?杰克森现在几乎退休了。