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

时间:2017-01-24 19:13:13

标签: 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 java.math.BigDecimal

我跟着[https://stackoverflow.com/a/27847784/901330],但BigDecimal似乎打破了它。我该如何进行序列化?

1 个答案:

答案 0 :(得分:1)

org.json4s.BigDecimalJsonFormats适用于scala.math.BigDecimal(Scala BigDecimal)而非Java BigDecimal(java.math.BigDecimal)

所以,使用BigDecimal(1)(Scala BigDecimal)