scala msgpack 十进制值
scala msgpack decimal values
我在一个简单的项目中使用 msgpack java 和 jackson 序列化及其 scala 类型转换。 msgpack 最初在 python 中序列化,看起来像 price��5.0000�
当我尝试在 java 或 scala 中序列化时,出现以下错误
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of double out of VALUE_EMBEDDED_OBJECT token
任何十进制类型都会发生这种情况。使用 msgpack 在 scala 中序列化十进制值有什么技巧吗?
这些是我使用的版本。
"org.msgpack" % "msgpack-core" % "0.8.13",
"org.msgpack" % "jackson-dataformat-msgpack" % "0.8.13",
"com.fasterxml.jackson.core" % "jackson-core" % "2.9.1",
"com.fasterxml.jackson.core" % "jackson-annotations" % "2.9.1",
"com.fasterxml.jackson.core" % "jackson-databind" % "2.9.1",
"com.fasterxml.jackson.datatype" % "jackson-datatype-guava" % "2.9.1",
"com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.9.1",
您可以通过使用 BigFloat 为浮点值编写自定义序列化程序来解决此问题,该序列化程序还支持来自 python 的科学记数法字符串。返回 new BigDecimal(<your string>)
可解决此特定问题。
我在一个简单的项目中使用 msgpack java 和 jackson 序列化及其 scala 类型转换。 msgpack 最初在 python 中序列化,看起来像 price��5.0000�
当我尝试在 java 或 scala 中序列化时,出现以下错误
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of double out of VALUE_EMBEDDED_OBJECT token
任何十进制类型都会发生这种情况。使用 msgpack 在 scala 中序列化十进制值有什么技巧吗?
这些是我使用的版本。
"org.msgpack" % "msgpack-core" % "0.8.13",
"org.msgpack" % "jackson-dataformat-msgpack" % "0.8.13",
"com.fasterxml.jackson.core" % "jackson-core" % "2.9.1",
"com.fasterxml.jackson.core" % "jackson-annotations" % "2.9.1",
"com.fasterxml.jackson.core" % "jackson-databind" % "2.9.1",
"com.fasterxml.jackson.datatype" % "jackson-datatype-guava" % "2.9.1",
"com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.9.1",
您可以通过使用 BigFloat 为浮点值编写自定义序列化程序来解决此问题,该序列化程序还支持来自 python 的科学记数法字符串。返回 new BigDecimal(<your string>)
可解决此特定问题。