将映射[String,Any]序列化为JSON,其中Any包含BigDecimal

将映射[String,Any]序列化为JSON,其中Any包含BigDecimal,json,scala,json4s,Json,Scala,Json4s,使用Scala 2.10和json4s 3.5.0,我试图将映射序列化为JSON字符串。例如: implicit val formats = org.json4s.DefaultFormats.withBigDecimal println(Serialization.write(Map("key" -> new java.math.BigDecimal(1))) 在以下情况下失败: java.lang.RuntimeException: not a primitive class jav

使用Scala 2.10和json4s 3.5.0,我试图将映射序列化为JSON字符串。例如:

implicit val formats = org.json4s.DefaultFormats.withBigDecimal
println(Serialization.write(Map("key" -> new java.math.BigDecimal(1)))
在以下情况下失败:

java.lang.RuntimeException: not a primitive class java.math.BigDecimal

我遵循了[但BigDecimal似乎破坏了它。我如何实现这个序列化?

org.json4s.BigDecimalJsonFormats
适用于
scala.math.BigDecimal
(scala BigDecimal)而不是Java BigDecimal(Java.math.BigDecimal)


因此,使用
BigDecimal(1)
(Scala BigDecimal)

映射
Any
通常是一个(非常)坏的主意