【问题标题】:Serialize a Map[String, Any] to JSON where Any includes BigDecimal将 Map[String, Any] 序列化为 JSON,其中 Any 包括 BigDecimal
【发布时间】:2017-06-09 18:37:50
【问题描述】:

使用 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 似乎打破了它。我该如何做这个序列化?

【问题讨论】:

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

标签: json scala json4s


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多