java - 从 JSON 中读取不带小数点的浮点或 double 值

标签 java json parsing integer double

有一个包含数百个值的 JSON 数组。我想解析一个 array ,它还获得带小数点和不带小数点的 values 。一旦出现没有小数点的值,我就会收到一条错误消息。

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Double

例如,我正在读取以下值:

99.06   //ok
4038.6  //ok
9448.8  //ok
3810    //error, since this will be interpreted as integer

这是我当前正在使用的代码:

double x = (double) jsonArray.get(7); 

JSON 具有以下结构:

“数组:”[[此处有 6 个值,第 7 个值应该是 double 值,此处有 x 个值],[相同],[...],...]

最佳答案

如果您不确定变量是 Integer 还是 Double,请不要对变量进行类型转换。始终使用包装类。尝试以下方法

 Double.parseDouble(a.get(7).toString());

关于java - 从 JSON 中读取不带小数点的浮点或 double 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50315207/

相关文章:

java - 如何避免 java 中的重复枚举值?

java - 如何在java中为android获取El​​ementById

java - 发布到特定线程

Javax JSON 响应仅适用于 ".toString"

c# - 序列化类的子集

Java/Android : generic method - apply same functionality to different objects

java - JsonArray.getvaluesAs 不以 String.class 作为参数

Java正则表达式replaceAll()

PHP 解析 .ini 文件问题与换行符/需要正则表达式?

parsing - 如何正确解析时区代码