有一个包含数百个值的 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/