【发布时间】:2019-12-14 13:47:33
【问题描述】:
我有一个 json 对象,其中包含嵌套对象,其值为 String、Double 和 Integer。当我转换为Map 时,它假设Integer 为Double。我该如何更改?
Map<String, Object> map = response.getJson();
我的回复字段为
{
....
"age" : 14,
"average" : 12.2,
....
}
average 正在正确转换为 Double,但年龄预计为 Integer,但在 Map 中为 converted 到 Double
【问题讨论】:
-
JSON 不区分整数和浮点数(而且您没有进行转换,您使用的是基于您正在使用的任何 JSON/web/etc 库的任何转换——*它*进行转换。
-
你为什么在乎?另外,如果
average恰好是一个整数怎么办?如果您仅根据值应用通用转换,您可能会得到一些average值作为Integer,而一些作为Double。应该避免这种不一致!这意味着你需要指定哪些应该被转换。 -
JavaScript 没有整数。 JSON 中的所有数字都是双精度数。
标签: java json hashmap integer double