gpt4 book ai didi

java - 为什么 GSON 在我所有原本不包含任何小数的 JSON 数字之后都加上一个小数点和一个零?

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:44 26 4
gpt4 key购买 nike

我从网络服务读取 JSON 并将所有 JSON 对象转换为 HashMap<String, String>使用 GSON。

我测试过,我的 JSONObject 没问题(任何数字中都没有小数点),但是 map 对象中的所有数字都有一个小数点和一个零。

这是我的代码:

try {
jsonArray = json.getJSONArray("PropertyListings");
for(int i = 0; i < jsonArray.length(); i++){
JSONObject c = jsonArray.getJSONObject(i);
HashMap<String, String> map = new HashMap<String, String>();
map = (HashMap<String, String>) new Gson().fromJson(jsonArray.getString(i), map.getClass());
listOfProperties.add(map);
}

最佳答案

来自维基百科。 JSON 的基本类型是:

Number — a signed decimal number that may contain a fractional part and may use exponential E notation. JSON does not allow non-numbers like NaN, nor does it make any distinction between integer and floating-point. (Even though JavaScript uses a double-precision floating-point format for all its numeric values, other languages implementing JSON may encode numbers differently)

它不区分整数和 float 。所以它认为每个数字都可能有小数部分,所以当您将数字转换为字符串时,它会保留该部分。尝试将其转换为 Integer

关于java - 为什么 GSON 在我所有原本不包含任何小数的 JSON 数字之后都加上一个小数点和一个零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24288183/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com