【发布时间】:2018-08-05 11:45:08
【问题描述】:
环境:JACKSON 2.8.10 和 Spring boot 1.5.10.RELEASE
在 JSON 请求中,我收到以下内容:
{
total: 103
}
在其他情况下,total 可能具有十进制精度,例如:103.25。我希望能够使用JACKSON
在我的 Java 中,我想将这个 103 读成 double 这样的:
Configuration conf = Configuration.builder().mappingProvider(new JacksonMappingProvider())
.jsonProvider(new JacksonJsonProvider()).build();
Object rawJson = conf.jsonProvider().parse(payload);
double listPrice = JsonPath.read(rawJson, "$.total")
然后我收到以下错误:
Java.lang.Integer cannot be cast to java.lang.Double.
有没有办法在不进行字符串/数学运算的情况下处理上述情况?
【问题讨论】:
-
您可以将
payload定义为一个类,并让total成为Double -
@dashboard 我做不到。它涉及太多重构。
标签: java spring-boot jackson jackson-databind